 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Live-Video
视频直播相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKLive/LiveExecutor.h>

@implementation LiveClient

@synthesize userAgent = _userAgent;
@synthesize serviceName = _serviceName;
@synthesize version = _version;

-(void) addCustomerHeaderWithKey:(NSString*) key
                           value:(NSString*) value{
    if(![self customHeader])
    {
        self.customHeader = [[NSMutableDictionary alloc] init];
    }
    if(key && value)
    {
        [[self customHeader] setValue:value forKey:key];
    }
   
}

-(id)initWithGlobalConfig{
    if(![GlobalConfig credential])
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@"GlobalConfig credential not config" userInfo:nil];
        @throw e;
    }
    self.credential = [GlobalConfig credential];
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"live.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 live  v1";
    _serviceName = @"live";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
         sdkEnvironment:(SDKEnvironment*)sdkEnvironment
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    
    if(!sdkEnvironment)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" sdkEnvironment can not null" userInfo:nil];
        @throw e;
    }else{
        self.sdkEnvironment = sdkEnvironment;
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 live  v1";
    _serviceName = @"live";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"live.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 live  v1";
    _serviceName = @"live";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)init{
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 live  v1";
    _serviceName = @"live";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}


/**
describeDomainOnlineStream sync request
@param describeDomainOnlineStreamRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeDomainOnlineStreamResponse` the request response data model
*/
-(NSDictionary*) describeDomainOnlineStreamSyncWithRequest:(LiveDescribeDomainOnlineStreamRequest*) describeDomainOnlineStreamRequest
{
LiveDescribeDomainOnlineStreamExecutor* excutor = [[LiveDescribeDomainOnlineStreamExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeDomainOnlineStreamRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeDomainOnlineStreamResponse* response = [[LiveDescribeDomainOnlineStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeDomainOnlineStreamResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeDomainOnlineStreamAsyncWithRequest:(LiveDescribeDomainOnlineStreamRequest*) describeDomainOnlineStreamRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeDomainOnlineStreamResponse* _Nullable describeDomainOnlineStreamResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeDomainOnlineStreamExecutor* excutor = [[LiveDescribeDomainOnlineStreamExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeDomainOnlineStreamRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeDomainOnlineStreamResponse* response = [[LiveDescribeDomainOnlineStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeUrlRanking sync request
@param describeUrlRankingRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeUrlRankingResponse` the request response data model
*/
-(NSDictionary*) describeUrlRankingSyncWithRequest:(LiveDescribeUrlRankingRequest*) describeUrlRankingRequest
{
LiveDescribeUrlRankingExecutor* excutor = [[LiveDescribeUrlRankingExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeUrlRankingRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeUrlRankingResponse* response = [[LiveDescribeUrlRankingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeUrlRankingResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeUrlRankingAsyncWithRequest:(LiveDescribeUrlRankingRequest*) describeUrlRankingRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeUrlRankingResponse* _Nullable describeUrlRankingResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeUrlRankingExecutor* excutor = [[LiveDescribeUrlRankingExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeUrlRankingRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeUrlRankingResponse* response = [[LiveDescribeUrlRankingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
openLiveRestart sync request
@param openLiveRestartRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `openLiveRestartResponse` the request response data model
*/
-(NSDictionary*) openLiveRestartSyncWithRequest:(LiveOpenLiveRestartRequest*) openLiveRestartRequest
{
LiveOpenLiveRestartExecutor* excutor = [[LiveOpenLiveRestartExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:openLiveRestartRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveOpenLiveRestartResponse* response = [[LiveOpenLiveRestartResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"openLiveRestartResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)openLiveRestartAsyncWithRequest:(LiveOpenLiveRestartRequest*) openLiveRestartRequest
                       completionHandler:(void(^)(int statusCode,LiveOpenLiveRestartResponse* _Nullable openLiveRestartResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveOpenLiveRestartExecutor* excutor = [[LiveOpenLiveRestartExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:openLiveRestartRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveOpenLiveRestartResponse* response = [[LiveOpenLiveRestartResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamAppQualityDetection sync request
@param addLiveStreamAppQualityDetectionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamAppQualityDetectionResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamAppQualityDetectionSyncWithRequest:(LiveAddLiveStreamAppQualityDetectionRequest*) addLiveStreamAppQualityDetectionRequest
{
LiveAddLiveStreamAppQualityDetectionExecutor* excutor = [[LiveAddLiveStreamAppQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamAppQualityDetectionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppQualityDetectionResponse* response = [[LiveAddLiveStreamAppQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamAppQualityDetectionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamAppQualityDetectionAsyncWithRequest:(LiveAddLiveStreamAppQualityDetectionRequest*) addLiveStreamAppQualityDetectionRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamAppQualityDetectionResponse* _Nullable addLiveStreamAppQualityDetectionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamAppQualityDetectionExecutor* excutor = [[LiveAddLiveStreamAppQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamAppQualityDetectionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppQualityDetectionResponse* response = [[LiveAddLiveStreamAppQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamNotifyConfig sync request
@param deleteLiveStreamNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamNotifyConfigSyncWithRequest:(LiveDeleteLiveStreamNotifyConfigRequest*) deleteLiveStreamNotifyConfigRequest
{
LiveDeleteLiveStreamNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamNotifyConfigResponse* response = [[LiveDeleteLiveStreamNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamNotifyConfigAsyncWithRequest:(LiveDeleteLiveStreamNotifyConfigRequest*) deleteLiveStreamNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamNotifyConfigResponse* _Nullable deleteLiveStreamNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamNotifyConfigResponse* response = [[LiveDeleteLiveStreamNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addCustomLiveStreamQualityDetectionTemplate sync request
@param addCustomLiveStreamQualityDetectionTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addCustomLiveStreamQualityDetectionTemplateResponse` the request response data model
*/
-(NSDictionary*) addCustomLiveStreamQualityDetectionTemplateSyncWithRequest:(LiveAddCustomLiveStreamQualityDetectionTemplateRequest*) addCustomLiveStreamQualityDetectionTemplateRequest
{
LiveAddCustomLiveStreamQualityDetectionTemplateExecutor* excutor = [[LiveAddCustomLiveStreamQualityDetectionTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addCustomLiveStreamQualityDetectionTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamQualityDetectionTemplateResponse* response = [[LiveAddCustomLiveStreamQualityDetectionTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addCustomLiveStreamQualityDetectionTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addCustomLiveStreamQualityDetectionTemplateAsyncWithRequest:(LiveAddCustomLiveStreamQualityDetectionTemplateRequest*) addCustomLiveStreamQualityDetectionTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveAddCustomLiveStreamQualityDetectionTemplateResponse* _Nullable addCustomLiveStreamQualityDetectionTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddCustomLiveStreamQualityDetectionTemplateExecutor* excutor = [[LiveAddCustomLiveStreamQualityDetectionTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addCustomLiveStreamQualityDetectionTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamQualityDetectionTemplateResponse* response = [[LiveAddCustomLiveStreamQualityDetectionTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
openLiveP2p sync request
@param openLiveP2pRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `openLiveP2pResponse` the request response data model
*/
-(NSDictionary*) openLiveP2pSyncWithRequest:(LiveOpenLiveP2pRequest*) openLiveP2pRequest
{
LiveOpenLiveP2pExecutor* excutor = [[LiveOpenLiveP2pExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:openLiveP2pRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveOpenLiveP2pResponse* response = [[LiveOpenLiveP2pResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"openLiveP2pResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)openLiveP2pAsyncWithRequest:(LiveOpenLiveP2pRequest*) openLiveP2pRequest
                       completionHandler:(void(^)(int statusCode,LiveOpenLiveP2pResponse* _Nullable openLiveP2pResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveOpenLiveP2pExecutor* excutor = [[LiveOpenLiveP2pExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:openLiveP2pRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveOpenLiveP2pResponse* response = [[LiveOpenLiveP2pResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamRecordTemplates sync request
@param describeCustomLiveStreamRecordTemplatesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamRecordTemplatesResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamRecordTemplatesSyncWithRequest:(LiveDescribeCustomLiveStreamRecordTemplatesRequest*) describeCustomLiveStreamRecordTemplatesRequest
{
LiveDescribeCustomLiveStreamRecordTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamRecordTemplatesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamRecordTemplatesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamRecordTemplatesResponse* response = [[LiveDescribeCustomLiveStreamRecordTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamRecordTemplatesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamRecordTemplatesAsyncWithRequest:(LiveDescribeCustomLiveStreamRecordTemplatesRequest*) describeCustomLiveStreamRecordTemplatesRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamRecordTemplatesResponse* _Nullable describeCustomLiveStreamRecordTemplatesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamRecordTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamRecordTemplatesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamRecordTemplatesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamRecordTemplatesResponse* response = [[LiveDescribeCustomLiveStreamRecordTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeTranscodeBinding sync request
@param describeTranscodeBindingRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeTranscodeBindingResponse` the request response data model
*/
-(NSDictionary*) describeTranscodeBindingSyncWithRequest:(LiveDescribeTranscodeBindingRequest*) describeTranscodeBindingRequest
{
LiveDescribeTranscodeBindingExecutor* excutor = [[LiveDescribeTranscodeBindingExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeTranscodeBindingRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeTranscodeBindingResponse* response = [[LiveDescribeTranscodeBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeTranscodeBindingResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeTranscodeBindingAsyncWithRequest:(LiveDescribeTranscodeBindingRequest*) describeTranscodeBindingRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeTranscodeBindingResponse* _Nullable describeTranscodeBindingResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeTranscodeBindingExecutor* excutor = [[LiveDescribeTranscodeBindingExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeTranscodeBindingRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeTranscodeBindingResponse* response = [[LiveDescribeTranscodeBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamRecordConfig sync request
@param describeCustomLiveStreamRecordConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamRecordConfigResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamRecordConfigSyncWithRequest:(LiveDescribeCustomLiveStreamRecordConfigRequest*) describeCustomLiveStreamRecordConfigRequest
{
LiveDescribeCustomLiveStreamRecordConfigExecutor* excutor = [[LiveDescribeCustomLiveStreamRecordConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamRecordConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamRecordConfigResponse* response = [[LiveDescribeCustomLiveStreamRecordConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamRecordConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamRecordConfigAsyncWithRequest:(LiveDescribeCustomLiveStreamRecordConfigRequest*) describeCustomLiveStreamRecordConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamRecordConfigResponse* _Nullable describeCustomLiveStreamRecordConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamRecordConfigExecutor* excutor = [[LiveDescribeCustomLiveStreamRecordConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamRecordConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamRecordConfigResponse* response = [[LiveDescribeCustomLiveStreamRecordConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveDomains sync request
@param describeLiveDomainsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveDomainsResponse` the request response data model
*/
-(NSDictionary*) describeLiveDomainsSyncWithRequest:(LiveDescribeLiveDomainsRequest*) describeLiveDomainsRequest
{
LiveDescribeLiveDomainsExecutor* excutor = [[LiveDescribeLiveDomainsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveDomainsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveDomainsResponse* response = [[LiveDescribeLiveDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveDomainsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveDomainsAsyncWithRequest:(LiveDescribeLiveDomainsRequest*) describeLiveDomainsRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveDomainsResponse* _Nullable describeLiveDomainsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveDomainsExecutor* excutor = [[LiveDescribeLiveDomainsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveDomainsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveDomainsResponse* response = [[LiveDescribeLiveDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveApp sync request
@param addLiveAppRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveAppResponse` the request response data model
*/
-(NSDictionary*) addLiveAppSyncWithRequest:(LiveAddLiveAppRequest*) addLiveAppRequest
{
LiveAddLiveAppExecutor* excutor = [[LiveAddLiveAppExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveAppRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveAppResponse* response = [[LiveAddLiveAppResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveAppResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveAppAsyncWithRequest:(LiveAddLiveAppRequest*) addLiveAppRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveAppResponse* _Nullable addLiveAppResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveAppExecutor* excutor = [[LiveAddLiveAppExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveAppRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveAppResponse* response = [[LiveAddLiveAppResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamAppWatermark sync request
@param deleteLiveStreamAppWatermarkRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamAppWatermarkResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamAppWatermarkSyncWithRequest:(LiveDeleteLiveStreamAppWatermarkRequest*) deleteLiveStreamAppWatermarkRequest
{
LiveDeleteLiveStreamAppWatermarkExecutor* excutor = [[LiveDeleteLiveStreamAppWatermarkExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamAppWatermarkRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppWatermarkResponse* response = [[LiveDeleteLiveStreamAppWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamAppWatermarkResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamAppWatermarkAsyncWithRequest:(LiveDeleteLiveStreamAppWatermarkRequest*) deleteLiveStreamAppWatermarkRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamAppWatermarkResponse* _Nullable deleteLiveStreamAppWatermarkResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamAppWatermarkExecutor* excutor = [[LiveDeleteLiveStreamAppWatermarkExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamAppWatermarkRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppWatermarkResponse* response = [[LiveDeleteLiveStreamAppWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveRestartAuthKey sync request
@param describeLiveRestartAuthKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveRestartAuthKeyResponse` the request response data model
*/
-(NSDictionary*) describeLiveRestartAuthKeySyncWithRequest:(LiveDescribeLiveRestartAuthKeyRequest*) describeLiveRestartAuthKeyRequest
{
LiveDescribeLiveRestartAuthKeyExecutor* excutor = [[LiveDescribeLiveRestartAuthKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveRestartAuthKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveRestartAuthKeyResponse* response = [[LiveDescribeLiveRestartAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveRestartAuthKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveRestartAuthKeyAsyncWithRequest:(LiveDescribeLiveRestartAuthKeyRequest*) describeLiveRestartAuthKeyRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveRestartAuthKeyResponse* _Nullable describeLiveRestartAuthKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveRestartAuthKeyExecutor* excutor = [[LiveDescribeLiveRestartAuthKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveRestartAuthKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveRestartAuthKeyResponse* response = [[LiveDescribeLiveRestartAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamPlayerRankingData sync request
@param describeLiveStreamPlayerRankingDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamPlayerRankingDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamPlayerRankingDataSyncWithRequest:(LiveDescribeLiveStreamPlayerRankingDataRequest*) describeLiveStreamPlayerRankingDataRequest
{
LiveDescribeLiveStreamPlayerRankingDataExecutor* excutor = [[LiveDescribeLiveStreamPlayerRankingDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamPlayerRankingDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPlayerRankingDataResponse* response = [[LiveDescribeLiveStreamPlayerRankingDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamPlayerRankingDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamPlayerRankingDataAsyncWithRequest:(LiveDescribeLiveStreamPlayerRankingDataRequest*) describeLiveStreamPlayerRankingDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamPlayerRankingDataResponse* _Nullable describeLiveStreamPlayerRankingDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamPlayerRankingDataExecutor* excutor = [[LiveDescribeLiveStreamPlayerRankingDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamPlayerRankingDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPlayerRankingDataResponse* response = [[LiveDescribeLiveStreamPlayerRankingDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeWatermarkBinding sync request
@param describeWatermarkBindingRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeWatermarkBindingResponse` the request response data model
*/
-(NSDictionary*) describeWatermarkBindingSyncWithRequest:(LiveDescribeWatermarkBindingRequest*) describeWatermarkBindingRequest
{
LiveDescribeWatermarkBindingExecutor* excutor = [[LiveDescribeWatermarkBindingExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeWatermarkBindingRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeWatermarkBindingResponse* response = [[LiveDescribeWatermarkBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeWatermarkBindingResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeWatermarkBindingAsyncWithRequest:(LiveDescribeWatermarkBindingRequest*) describeWatermarkBindingRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeWatermarkBindingResponse* _Nullable describeWatermarkBindingResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeWatermarkBindingExecutor* excutor = [[LiveDescribeWatermarkBindingExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeWatermarkBindingRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeWatermarkBindingResponse* response = [[LiveDescribeWatermarkBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStatisticGroupByStream sync request
@param describeLiveStatisticGroupByStreamRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStatisticGroupByStreamResponse` the request response data model
*/
-(NSDictionary*) describeLiveStatisticGroupByStreamSyncWithRequest:(LiveDescribeLiveStatisticGroupByStreamRequest*) describeLiveStatisticGroupByStreamRequest
{
LiveDescribeLiveStatisticGroupByStreamExecutor* excutor = [[LiveDescribeLiveStatisticGroupByStreamExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStatisticGroupByStreamRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStatisticGroupByStreamResponse* response = [[LiveDescribeLiveStatisticGroupByStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStatisticGroupByStreamResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStatisticGroupByStreamAsyncWithRequest:(LiveDescribeLiveStatisticGroupByStreamRequest*) describeLiveStatisticGroupByStreamRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStatisticGroupByStreamResponse* _Nullable describeLiveStatisticGroupByStreamResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStatisticGroupByStreamExecutor* excutor = [[LiveDescribeLiveStatisticGroupByStreamExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStatisticGroupByStreamRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStatisticGroupByStreamResponse* response = [[LiveDescribeLiveStatisticGroupByStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveStreamRecordNotifyConfig sync request
@param setLiveStreamRecordNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveStreamRecordNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) setLiveStreamRecordNotifyConfigSyncWithRequest:(LiveSetLiveStreamRecordNotifyConfigRequest*) setLiveStreamRecordNotifyConfigRequest
{
LiveSetLiveStreamRecordNotifyConfigExecutor* excutor = [[LiveSetLiveStreamRecordNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveStreamRecordNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamRecordNotifyConfigResponse* response = [[LiveSetLiveStreamRecordNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveStreamRecordNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveStreamRecordNotifyConfigAsyncWithRequest:(LiveSetLiveStreamRecordNotifyConfigRequest*) setLiveStreamRecordNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLiveStreamRecordNotifyConfigResponse* _Nullable setLiveStreamRecordNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLiveStreamRecordNotifyConfigExecutor* excutor = [[LiveSetLiveStreamRecordNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveStreamRecordNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamRecordNotifyConfigResponse* response = [[LiveSetLiveStreamRecordNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addCustomLiveStreamSnapshotTemplate sync request
@param addCustomLiveStreamSnapshotTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addCustomLiveStreamSnapshotTemplateResponse` the request response data model
*/
-(NSDictionary*) addCustomLiveStreamSnapshotTemplateSyncWithRequest:(LiveAddCustomLiveStreamSnapshotTemplateRequest*) addCustomLiveStreamSnapshotTemplateRequest
{
LiveAddCustomLiveStreamSnapshotTemplateExecutor* excutor = [[LiveAddCustomLiveStreamSnapshotTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addCustomLiveStreamSnapshotTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamSnapshotTemplateResponse* response = [[LiveAddCustomLiveStreamSnapshotTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addCustomLiveStreamSnapshotTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addCustomLiveStreamSnapshotTemplateAsyncWithRequest:(LiveAddCustomLiveStreamSnapshotTemplateRequest*) addCustomLiveStreamSnapshotTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveAddCustomLiveStreamSnapshotTemplateResponse* _Nullable addCustomLiveStreamSnapshotTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddCustomLiveStreamSnapshotTemplateExecutor* excutor = [[LiveAddCustomLiveStreamSnapshotTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addCustomLiveStreamSnapshotTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamSnapshotTemplateResponse* response = [[LiveAddCustomLiveStreamSnapshotTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
startLiveDomain sync request
@param startLiveDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startLiveDomainResponse` the request response data model
*/
-(NSDictionary*) startLiveDomainSyncWithRequest:(LiveStartLiveDomainRequest*) startLiveDomainRequest
{
LiveStartLiveDomainExecutor* excutor = [[LiveStartLiveDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startLiveDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveStartLiveDomainResponse* response = [[LiveStartLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startLiveDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startLiveDomainAsyncWithRequest:(LiveStartLiveDomainRequest*) startLiveDomainRequest
                       completionHandler:(void(^)(int statusCode,LiveStartLiveDomainResponse* _Nullable startLiveDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveStartLiveDomainExecutor* excutor = [[LiveStartLiveDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startLiveDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveStartLiveDomainResponse* response = [[LiveStartLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamWatermarkTemplates sync request
@param describeCustomLiveStreamWatermarkTemplatesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamWatermarkTemplatesResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamWatermarkTemplatesSyncWithRequest:(LiveDescribeCustomLiveStreamWatermarkTemplatesRequest*) describeCustomLiveStreamWatermarkTemplatesRequest
{
LiveDescribeCustomLiveStreamWatermarkTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamWatermarkTemplatesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamWatermarkTemplatesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamWatermarkTemplatesResponse* response = [[LiveDescribeCustomLiveStreamWatermarkTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamWatermarkTemplatesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamWatermarkTemplatesAsyncWithRequest:(LiveDescribeCustomLiveStreamWatermarkTemplatesRequest*) describeCustomLiveStreamWatermarkTemplatesRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamWatermarkTemplatesResponse* _Nullable describeCustomLiveStreamWatermarkTemplatesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamWatermarkTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamWatermarkTemplatesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamWatermarkTemplatesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamWatermarkTemplatesResponse* response = [[LiveDescribeCustomLiveStreamWatermarkTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamAppTranscode sync request
@param addLiveStreamAppTranscodeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamAppTranscodeResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamAppTranscodeSyncWithRequest:(LiveAddLiveStreamAppTranscodeRequest*) addLiveStreamAppTranscodeRequest
{
LiveAddLiveStreamAppTranscodeExecutor* excutor = [[LiveAddLiveStreamAppTranscodeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamAppTranscodeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppTranscodeResponse* response = [[LiveAddLiveStreamAppTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamAppTranscodeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamAppTranscodeAsyncWithRequest:(LiveAddLiveStreamAppTranscodeRequest*) addLiveStreamAppTranscodeRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamAppTranscodeResponse* _Nullable addLiveStreamAppTranscodeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamAppTranscodeExecutor* excutor = [[LiveAddLiveStreamAppTranscodeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamAppTranscodeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppTranscodeResponse* response = [[LiveAddLiveStreamAppTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamSnapshotNotifyConfig sync request
@param deleteLiveStreamSnapshotNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamSnapshotNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamSnapshotNotifyConfigSyncWithRequest:(LiveDeleteLiveStreamSnapshotNotifyConfigRequest*) deleteLiveStreamSnapshotNotifyConfigRequest
{
LiveDeleteLiveStreamSnapshotNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamSnapshotNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamSnapshotNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamSnapshotNotifyConfigResponse* response = [[LiveDeleteLiveStreamSnapshotNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamSnapshotNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamSnapshotNotifyConfigAsyncWithRequest:(LiveDeleteLiveStreamSnapshotNotifyConfigRequest*) deleteLiveStreamSnapshotNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamSnapshotNotifyConfigResponse* _Nullable deleteLiveStreamSnapshotNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamSnapshotNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamSnapshotNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamSnapshotNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamSnapshotNotifyConfigResponse* response = [[LiveDeleteLiveStreamSnapshotNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveTimeshiftConfigs sync request
@param describeLiveTimeshiftConfigsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveTimeshiftConfigsResponse` the request response data model
*/
-(NSDictionary*) describeLiveTimeshiftConfigsSyncWithRequest:(LiveDescribeLiveTimeshiftConfigsRequest*) describeLiveTimeshiftConfigsRequest
{
LiveDescribeLiveTimeshiftConfigsExecutor* excutor = [[LiveDescribeLiveTimeshiftConfigsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveTimeshiftConfigsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTimeshiftConfigsResponse* response = [[LiveDescribeLiveTimeshiftConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveTimeshiftConfigsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveTimeshiftConfigsAsyncWithRequest:(LiveDescribeLiveTimeshiftConfigsRequest*) describeLiveTimeshiftConfigsRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveTimeshiftConfigsResponse* _Nullable describeLiveTimeshiftConfigsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveTimeshiftConfigsExecutor* excutor = [[LiveDescribeLiveTimeshiftConfigsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveTimeshiftConfigsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTimeshiftConfigsResponse* response = [[LiveDescribeLiveTimeshiftConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamAppWatermark sync request
@param addLiveStreamAppWatermarkRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamAppWatermarkResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamAppWatermarkSyncWithRequest:(LiveAddLiveStreamAppWatermarkRequest*) addLiveStreamAppWatermarkRequest
{
LiveAddLiveStreamAppWatermarkExecutor* excutor = [[LiveAddLiveStreamAppWatermarkExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamAppWatermarkRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppWatermarkResponse* response = [[LiveAddLiveStreamAppWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamAppWatermarkResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamAppWatermarkAsyncWithRequest:(LiveAddLiveStreamAppWatermarkRequest*) addLiveStreamAppWatermarkRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamAppWatermarkResponse* _Nullable addLiveStreamAppWatermarkResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamAppWatermarkExecutor* excutor = [[LiveAddLiveStreamAppWatermarkExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamAppWatermarkRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppWatermarkResponse* response = [[LiveAddLiveStreamAppWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamAppSnapshot sync request
@param deleteLiveStreamAppSnapshotRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamAppSnapshotResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamAppSnapshotSyncWithRequest:(LiveDeleteLiveStreamAppSnapshotRequest*) deleteLiveStreamAppSnapshotRequest
{
LiveDeleteLiveStreamAppSnapshotExecutor* excutor = [[LiveDeleteLiveStreamAppSnapshotExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamAppSnapshotRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppSnapshotResponse* response = [[LiveDeleteLiveStreamAppSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamAppSnapshotResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamAppSnapshotAsyncWithRequest:(LiveDeleteLiveStreamAppSnapshotRequest*) deleteLiveStreamAppSnapshotRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamAppSnapshotResponse* _Nullable deleteLiveStreamAppSnapshotResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamAppSnapshotExecutor* excutor = [[LiveDeleteLiveStreamAppSnapshotExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamAppSnapshotRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppSnapshotResponse* response = [[LiveDeleteLiveStreamAppSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamRecordNotifyConfig sync request
@param deleteLiveStreamRecordNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamRecordNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamRecordNotifyConfigSyncWithRequest:(LiveDeleteLiveStreamRecordNotifyConfigRequest*) deleteLiveStreamRecordNotifyConfigRequest
{
LiveDeleteLiveStreamRecordNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamRecordNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamRecordNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamRecordNotifyConfigResponse* response = [[LiveDeleteLiveStreamRecordNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamRecordNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamRecordNotifyConfigAsyncWithRequest:(LiveDeleteLiveStreamRecordNotifyConfigRequest*) deleteLiveStreamRecordNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamRecordNotifyConfigResponse* _Nullable deleteLiveStreamRecordNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamRecordNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamRecordNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamRecordNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamRecordNotifyConfigResponse* response = [[LiveDeleteLiveStreamRecordNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamWatermarkConfig sync request
@param describeCustomLiveStreamWatermarkConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamWatermarkConfigResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamWatermarkConfigSyncWithRequest:(LiveDescribeCustomLiveStreamWatermarkConfigRequest*) describeCustomLiveStreamWatermarkConfigRequest
{
LiveDescribeCustomLiveStreamWatermarkConfigExecutor* excutor = [[LiveDescribeCustomLiveStreamWatermarkConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamWatermarkConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamWatermarkConfigResponse* response = [[LiveDescribeCustomLiveStreamWatermarkConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamWatermarkConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamWatermarkConfigAsyncWithRequest:(LiveDescribeCustomLiveStreamWatermarkConfigRequest*) describeCustomLiveStreamWatermarkConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamWatermarkConfigResponse* _Nullable describeCustomLiveStreamWatermarkConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamWatermarkConfigExecutor* excutor = [[LiveDescribeCustomLiveStreamWatermarkConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamWatermarkConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamWatermarkConfigResponse* response = [[LiveDescribeCustomLiveStreamWatermarkConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addCustomLiveStreamRecordTemplate sync request
@param addCustomLiveStreamRecordTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addCustomLiveStreamRecordTemplateResponse` the request response data model
*/
-(NSDictionary*) addCustomLiveStreamRecordTemplateSyncWithRequest:(LiveAddCustomLiveStreamRecordTemplateRequest*) addCustomLiveStreamRecordTemplateRequest
{
LiveAddCustomLiveStreamRecordTemplateExecutor* excutor = [[LiveAddCustomLiveStreamRecordTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addCustomLiveStreamRecordTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamRecordTemplateResponse* response = [[LiveAddCustomLiveStreamRecordTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addCustomLiveStreamRecordTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addCustomLiveStreamRecordTemplateAsyncWithRequest:(LiveAddCustomLiveStreamRecordTemplateRequest*) addCustomLiveStreamRecordTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveAddCustomLiveStreamRecordTemplateResponse* _Nullable addCustomLiveStreamRecordTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddCustomLiveStreamRecordTemplateExecutor* excutor = [[LiveAddCustomLiveStreamRecordTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addCustomLiveStreamRecordTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamRecordTemplateResponse* response = [[LiveAddCustomLiveStreamRecordTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveTranscodingDurationData sync request
@param describeLiveTranscodingDurationDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveTranscodingDurationDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveTranscodingDurationDataSyncWithRequest:(LiveDescribeLiveTranscodingDurationDataRequest*) describeLiveTranscodingDurationDataRequest
{
LiveDescribeLiveTranscodingDurationDataExecutor* excutor = [[LiveDescribeLiveTranscodingDurationDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveTranscodingDurationDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodingDurationDataResponse* response = [[LiveDescribeLiveTranscodingDurationDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveTranscodingDurationDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveTranscodingDurationDataAsyncWithRequest:(LiveDescribeLiveTranscodingDurationDataRequest*) describeLiveTranscodingDurationDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveTranscodingDurationDataResponse* _Nullable describeLiveTranscodingDurationDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveTranscodingDurationDataExecutor* excutor = [[LiveDescribeLiveTranscodingDurationDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveTranscodingDurationDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodingDurationDataResponse* response = [[LiveDescribeLiveTranscodingDurationDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveP2pConfigs sync request
@param describeLiveP2pConfigsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveP2pConfigsResponse` the request response data model
*/
-(NSDictionary*) describeLiveP2pConfigsSyncWithRequest:(LiveDescribeLiveP2pConfigsRequest*) describeLiveP2pConfigsRequest
{
LiveDescribeLiveP2pConfigsExecutor* excutor = [[LiveDescribeLiveP2pConfigsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveP2pConfigsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveP2pConfigsResponse* response = [[LiveDescribeLiveP2pConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveP2pConfigsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveP2pConfigsAsyncWithRequest:(LiveDescribeLiveP2pConfigsRequest*) describeLiveP2pConfigsRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveP2pConfigsResponse* _Nullable describeLiveP2pConfigsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveP2pConfigsExecutor* excutor = [[LiveDescribeLiveP2pConfigsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveP2pConfigsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveP2pConfigsResponse* response = [[LiveDescribeLiveP2pConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLivePlayAuthKey sync request
@param describeLivePlayAuthKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLivePlayAuthKeyResponse` the request response data model
*/
-(NSDictionary*) describeLivePlayAuthKeySyncWithRequest:(LiveDescribeLivePlayAuthKeyRequest*) describeLivePlayAuthKeyRequest
{
LiveDescribeLivePlayAuthKeyExecutor* excutor = [[LiveDescribeLivePlayAuthKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLivePlayAuthKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLivePlayAuthKeyResponse* response = [[LiveDescribeLivePlayAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLivePlayAuthKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLivePlayAuthKeyAsyncWithRequest:(LiveDescribeLivePlayAuthKeyRequest*) describeLivePlayAuthKeyRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLivePlayAuthKeyResponse* _Nullable describeLivePlayAuthKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLivePlayAuthKeyExecutor* excutor = [[LiveDescribeLivePlayAuthKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLivePlayAuthKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLivePlayAuthKeyResponse* response = [[LiveDescribeLivePlayAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeSnapshotBinding sync request
@param describeSnapshotBindingRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeSnapshotBindingResponse` the request response data model
*/
-(NSDictionary*) describeSnapshotBindingSyncWithRequest:(LiveDescribeSnapshotBindingRequest*) describeSnapshotBindingRequest
{
LiveDescribeSnapshotBindingExecutor* excutor = [[LiveDescribeSnapshotBindingExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeSnapshotBindingRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeSnapshotBindingResponse* response = [[LiveDescribeSnapshotBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeSnapshotBindingResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeSnapshotBindingAsyncWithRequest:(LiveDescribeSnapshotBindingRequest*) describeSnapshotBindingRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeSnapshotBindingResponse* _Nullable describeSnapshotBindingResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeSnapshotBindingExecutor* excutor = [[LiveDescribeSnapshotBindingExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeSnapshotBindingRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeSnapshotBindingResponse* response = [[LiveDescribeSnapshotBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteCustomLiveStreamTranscodeTemplate sync request
@param deleteCustomLiveStreamTranscodeTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteCustomLiveStreamTranscodeTemplateResponse` the request response data model
*/
-(NSDictionary*) deleteCustomLiveStreamTranscodeTemplateSyncWithRequest:(LiveDeleteCustomLiveStreamTranscodeTemplateRequest*) deleteCustomLiveStreamTranscodeTemplateRequest
{
LiveDeleteCustomLiveStreamTranscodeTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamTranscodeTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteCustomLiveStreamTranscodeTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamTranscodeTemplateResponse* response = [[LiveDeleteCustomLiveStreamTranscodeTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteCustomLiveStreamTranscodeTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteCustomLiveStreamTranscodeTemplateAsyncWithRequest:(LiveDeleteCustomLiveStreamTranscodeTemplateRequest*) deleteCustomLiveStreamTranscodeTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteCustomLiveStreamTranscodeTemplateResponse* _Nullable deleteCustomLiveStreamTranscodeTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteCustomLiveStreamTranscodeTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamTranscodeTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteCustomLiveStreamTranscodeTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamTranscodeTemplateResponse* response = [[LiveDeleteCustomLiveStreamTranscodeTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamTranscodeTemplates sync request
@param describeCustomLiveStreamTranscodeTemplatesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamTranscodeTemplatesResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamTranscodeTemplatesSyncWithRequest:(LiveDescribeCustomLiveStreamTranscodeTemplatesRequest*) describeCustomLiveStreamTranscodeTemplatesRequest
{
LiveDescribeCustomLiveStreamTranscodeTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamTranscodeTemplatesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamTranscodeTemplatesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamTranscodeTemplatesResponse* response = [[LiveDescribeCustomLiveStreamTranscodeTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamTranscodeTemplatesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamTranscodeTemplatesAsyncWithRequest:(LiveDescribeCustomLiveStreamTranscodeTemplatesRequest*) describeCustomLiveStreamTranscodeTemplatesRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamTranscodeTemplatesResponse* _Nullable describeCustomLiveStreamTranscodeTemplatesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamTranscodeTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamTranscodeTemplatesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamTranscodeTemplatesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamTranscodeTemplatesResponse* response = [[LiveDescribeCustomLiveStreamTranscodeTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLivePornData sync request
@param describeLivePornDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLivePornDataResponse` the request response data model
*/
-(NSDictionary*) describeLivePornDataSyncWithRequest:(LiveDescribeLivePornDataRequest*) describeLivePornDataRequest
{
LiveDescribeLivePornDataExecutor* excutor = [[LiveDescribeLivePornDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLivePornDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLivePornDataResponse* response = [[LiveDescribeLivePornDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLivePornDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLivePornDataAsyncWithRequest:(LiveDescribeLivePornDataRequest*) describeLivePornDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLivePornDataResponse* _Nullable describeLivePornDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLivePornDataExecutor* excutor = [[LiveDescribeLivePornDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLivePornDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLivePornDataResponse* response = [[LiveDescribeLivePornDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopLiveDomain sync request
@param stopLiveDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopLiveDomainResponse` the request response data model
*/
-(NSDictionary*) stopLiveDomainSyncWithRequest:(LiveStopLiveDomainRequest*) stopLiveDomainRequest
{
LiveStopLiveDomainExecutor* excutor = [[LiveStopLiveDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopLiveDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveStopLiveDomainResponse* response = [[LiveStopLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopLiveDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopLiveDomainAsyncWithRequest:(LiveStopLiveDomainRequest*) stopLiveDomainRequest
                       completionHandler:(void(^)(int statusCode,LiveStopLiveDomainResponse* _Nullable stopLiveDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveStopLiveDomainExecutor* excutor = [[LiveStopLiveDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopLiveDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveStopLiveDomainResponse* response = [[LiveStopLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveFileStorageData sync request
@param describeLiveFileStorageDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveFileStorageDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveFileStorageDataSyncWithRequest:(LiveDescribeLiveFileStorageDataRequest*) describeLiveFileStorageDataRequest
{
LiveDescribeLiveFileStorageDataExecutor* excutor = [[LiveDescribeLiveFileStorageDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveFileStorageDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveFileStorageDataResponse* response = [[LiveDescribeLiveFileStorageDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveFileStorageDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveFileStorageDataAsyncWithRequest:(LiveDescribeLiveFileStorageDataRequest*) describeLiveFileStorageDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveFileStorageDataResponse* _Nullable describeLiveFileStorageDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveFileStorageDataExecutor* excutor = [[LiveDescribeLiveFileStorageDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveFileStorageDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveFileStorageDataResponse* response = [[LiveDescribeLiveFileStorageDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamOnlineList sync request
@param describeLiveStreamOnlineListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamOnlineListResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamOnlineListSyncWithRequest:(LiveDescribeLiveStreamOnlineListRequest*) describeLiveStreamOnlineListRequest
{
LiveDescribeLiveStreamOnlineListExecutor* excutor = [[LiveDescribeLiveStreamOnlineListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamOnlineListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamOnlineListResponse* response = [[LiveDescribeLiveStreamOnlineListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamOnlineListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamOnlineListAsyncWithRequest:(LiveDescribeLiveStreamOnlineListRequest*) describeLiveStreamOnlineListRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamOnlineListResponse* _Nullable describeLiveStreamOnlineListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamOnlineListExecutor* excutor = [[LiveDescribeLiveStreamOnlineListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamOnlineListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamOnlineListResponse* response = [[LiveDescribeLiveStreamOnlineListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamRecordNotifyConfig sync request
@param describeLiveStreamRecordNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamRecordNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamRecordNotifyConfigSyncWithRequest:(LiveDescribeLiveStreamRecordNotifyConfigRequest*) describeLiveStreamRecordNotifyConfigRequest
{
LiveDescribeLiveStreamRecordNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamRecordNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamRecordNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamRecordNotifyConfigResponse* response = [[LiveDescribeLiveStreamRecordNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamRecordNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamRecordNotifyConfigAsyncWithRequest:(LiveDescribeLiveStreamRecordNotifyConfigRequest*) describeLiveStreamRecordNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamRecordNotifyConfigResponse* _Nullable describeLiveStreamRecordNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamRecordNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamRecordNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamRecordNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamRecordNotifyConfigResponse* response = [[LiveDescribeLiveStreamRecordNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamDomainSnapshot sync request
@param addLiveStreamDomainSnapshotRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamDomainSnapshotResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamDomainSnapshotSyncWithRequest:(LiveAddLiveStreamDomainSnapshotRequest*) addLiveStreamDomainSnapshotRequest
{
LiveAddLiveStreamDomainSnapshotExecutor* excutor = [[LiveAddLiveStreamDomainSnapshotExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamDomainSnapshotRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainSnapshotResponse* response = [[LiveAddLiveStreamDomainSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamDomainSnapshotResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamDomainSnapshotAsyncWithRequest:(LiveAddLiveStreamDomainSnapshotRequest*) addLiveStreamDomainSnapshotRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamDomainSnapshotResponse* _Nullable addLiveStreamDomainSnapshotResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamDomainSnapshotExecutor* excutor = [[LiveAddLiveStreamDomainSnapshotExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamDomainSnapshotRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainSnapshotResponse* response = [[LiveAddLiveStreamDomainSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveStreamNotifyConfig sync request
@param setLiveStreamNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveStreamNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) setLiveStreamNotifyConfigSyncWithRequest:(LiveSetLiveStreamNotifyConfigRequest*) setLiveStreamNotifyConfigRequest
{
LiveSetLiveStreamNotifyConfigExecutor* excutor = [[LiveSetLiveStreamNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveStreamNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamNotifyConfigResponse* response = [[LiveSetLiveStreamNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveStreamNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveStreamNotifyConfigAsyncWithRequest:(LiveSetLiveStreamNotifyConfigRequest*) setLiveStreamNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLiveStreamNotifyConfigResponse* _Nullable setLiveStreamNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLiveStreamNotifyConfigExecutor* excutor = [[LiveSetLiveStreamNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveStreamNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamNotifyConfigResponse* response = [[LiveSetLiveStreamNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamHistoryUserNum sync request
@param describeLiveStreamHistoryUserNumRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamHistoryUserNumResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamHistoryUserNumSyncWithRequest:(LiveDescribeLiveStreamHistoryUserNumRequest*) describeLiveStreamHistoryUserNumRequest
{
LiveDescribeLiveStreamHistoryUserNumExecutor* excutor = [[LiveDescribeLiveStreamHistoryUserNumExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamHistoryUserNumRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamHistoryUserNumResponse* response = [[LiveDescribeLiveStreamHistoryUserNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamHistoryUserNumResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamHistoryUserNumAsyncWithRequest:(LiveDescribeLiveStreamHistoryUserNumRequest*) describeLiveStreamHistoryUserNumRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamHistoryUserNumResponse* _Nullable describeLiveStreamHistoryUserNumResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamHistoryUserNumExecutor* excutor = [[LiveDescribeLiveStreamHistoryUserNumExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamHistoryUserNumRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamHistoryUserNumResponse* response = [[LiveDescribeLiveStreamHistoryUserNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveStreamSnapshotNotifyConfig sync request
@param setLiveStreamSnapshotNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveStreamSnapshotNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) setLiveStreamSnapshotNotifyConfigSyncWithRequest:(LiveSetLiveStreamSnapshotNotifyConfigRequest*) setLiveStreamSnapshotNotifyConfigRequest
{
LiveSetLiveStreamSnapshotNotifyConfigExecutor* excutor = [[LiveSetLiveStreamSnapshotNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveStreamSnapshotNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamSnapshotNotifyConfigResponse* response = [[LiveSetLiveStreamSnapshotNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveStreamSnapshotNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveStreamSnapshotNotifyConfigAsyncWithRequest:(LiveSetLiveStreamSnapshotNotifyConfigRequest*) setLiveStreamSnapshotNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLiveStreamSnapshotNotifyConfigResponse* _Nullable setLiveStreamSnapshotNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLiveStreamSnapshotNotifyConfigExecutor* excutor = [[LiveSetLiveStreamSnapshotNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveStreamSnapshotNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamSnapshotNotifyConfigResponse* response = [[LiveSetLiveStreamSnapshotNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamDomainQualityDetection sync request
@param addLiveStreamDomainQualityDetectionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamDomainQualityDetectionResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamDomainQualityDetectionSyncWithRequest:(LiveAddLiveStreamDomainQualityDetectionRequest*) addLiveStreamDomainQualityDetectionRequest
{
LiveAddLiveStreamDomainQualityDetectionExecutor* excutor = [[LiveAddLiveStreamDomainQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamDomainQualityDetectionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainQualityDetectionResponse* response = [[LiveAddLiveStreamDomainQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamDomainQualityDetectionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamDomainQualityDetectionAsyncWithRequest:(LiveAddLiveStreamDomainQualityDetectionRequest*) addLiveStreamDomainQualityDetectionRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamDomainQualityDetectionResponse* _Nullable addLiveStreamDomainQualityDetectionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamDomainQualityDetectionExecutor* excutor = [[LiveAddLiveStreamDomainQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamDomainQualityDetectionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainQualityDetectionResponse* response = [[LiveAddLiveStreamDomainQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
closeLiveP2p sync request
@param closeLiveP2pRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `closeLiveP2pResponse` the request response data model
*/
-(NSDictionary*) closeLiveP2pSyncWithRequest:(LiveCloseLiveP2pRequest*) closeLiveP2pRequest
{
LiveCloseLiveP2pExecutor* excutor = [[LiveCloseLiveP2pExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:closeLiveP2pRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveCloseLiveP2pResponse* response = [[LiveCloseLiveP2pResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"closeLiveP2pResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)closeLiveP2pAsyncWithRequest:(LiveCloseLiveP2pRequest*) closeLiveP2pRequest
                       completionHandler:(void(^)(int statusCode,LiveCloseLiveP2pResponse* _Nullable closeLiveP2pResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveCloseLiveP2pExecutor* excutor = [[LiveCloseLiveP2pExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:closeLiveP2pRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveCloseLiveP2pResponse* response = [[LiveCloseLiveP2pResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveDomain sync request
@param deleteLiveDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveDomainResponse` the request response data model
*/
-(NSDictionary*) deleteLiveDomainSyncWithRequest:(LiveDeleteLiveDomainRequest*) deleteLiveDomainRequest
{
LiveDeleteLiveDomainExecutor* excutor = [[LiveDeleteLiveDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveDomainResponse* response = [[LiveDeleteLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveDomainAsyncWithRequest:(LiveDeleteLiveDomainRequest*) deleteLiveDomainRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveDomainResponse* _Nullable deleteLiveDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveDomainExecutor* excutor = [[LiveDeleteLiveDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveDomainResponse* response = [[LiveDeleteLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamPublishBandwidthData sync request
@param describeLiveStreamPublishBandwidthDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamPublishBandwidthDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamPublishBandwidthDataSyncWithRequest:(LiveDescribeLiveStreamPublishBandwidthDataRequest*) describeLiveStreamPublishBandwidthDataRequest
{
LiveDescribeLiveStreamPublishBandwidthDataExecutor* excutor = [[LiveDescribeLiveStreamPublishBandwidthDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamPublishBandwidthDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPublishBandwidthDataResponse* response = [[LiveDescribeLiveStreamPublishBandwidthDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamPublishBandwidthDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamPublishBandwidthDataAsyncWithRequest:(LiveDescribeLiveStreamPublishBandwidthDataRequest*) describeLiveStreamPublishBandwidthDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamPublishBandwidthDataResponse* _Nullable describeLiveStreamPublishBandwidthDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamPublishBandwidthDataExecutor* excutor = [[LiveDescribeLiveStreamPublishBandwidthDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamPublishBandwidthDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPublishBandwidthDataResponse* response = [[LiveDescribeLiveStreamPublishBandwidthDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
resumeLiveStream sync request
@param resumeLiveStreamRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `resumeLiveStreamResponse` the request response data model
*/
-(NSDictionary*) resumeLiveStreamSyncWithRequest:(LiveResumeLiveStreamRequest*) resumeLiveStreamRequest
{
LiveResumeLiveStreamExecutor* excutor = [[LiveResumeLiveStreamExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:resumeLiveStreamRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveResumeLiveStreamResponse* response = [[LiveResumeLiveStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"resumeLiveStreamResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)resumeLiveStreamAsyncWithRequest:(LiveResumeLiveStreamRequest*) resumeLiveStreamRequest
                       completionHandler:(void(^)(int statusCode,LiveResumeLiveStreamResponse* _Nullable resumeLiveStreamResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveResumeLiveStreamExecutor* excutor = [[LiveResumeLiveStreamExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:resumeLiveStreamRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveResumeLiveStreamResponse* response = [[LiveResumeLiveStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveDomainCertificate sync request
@param setLiveDomainCertificateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveDomainCertificateResponse` the request response data model
*/
-(NSDictionary*) setLiveDomainCertificateSyncWithRequest:(LiveSetLiveDomainCertificateRequest*) setLiveDomainCertificateRequest
{
LiveSetLiveDomainCertificateExecutor* excutor = [[LiveSetLiveDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveDomainCertificateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveDomainCertificateResponse* response = [[LiveSetLiveDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveDomainCertificateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveDomainCertificateAsyncWithRequest:(LiveSetLiveDomainCertificateRequest*) setLiveDomainCertificateRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLiveDomainCertificateResponse* _Nullable setLiveDomainCertificateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLiveDomainCertificateExecutor* excutor = [[LiveSetLiveDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveDomainCertificateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveDomainCertificateResponse* response = [[LiveSetLiveDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamSnapshotConfig sync request
@param describeCustomLiveStreamSnapshotConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamSnapshotConfigResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamSnapshotConfigSyncWithRequest:(LiveDescribeCustomLiveStreamSnapshotConfigRequest*) describeCustomLiveStreamSnapshotConfigRequest
{
LiveDescribeCustomLiveStreamSnapshotConfigExecutor* excutor = [[LiveDescribeCustomLiveStreamSnapshotConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamSnapshotConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamSnapshotConfigResponse* response = [[LiveDescribeCustomLiveStreamSnapshotConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamSnapshotConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamSnapshotConfigAsyncWithRequest:(LiveDescribeCustomLiveStreamSnapshotConfigRequest*) describeCustomLiveStreamSnapshotConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamSnapshotConfigResponse* _Nullable describeCustomLiveStreamSnapshotConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamSnapshotConfigExecutor* excutor = [[LiveDescribeCustomLiveStreamSnapshotConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamSnapshotConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamSnapshotConfigResponse* response = [[LiveDescribeCustomLiveStreamSnapshotConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeQualityDetectionBinding sync request
@param describeQualityDetectionBindingRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeQualityDetectionBindingResponse` the request response data model
*/
-(NSDictionary*) describeQualityDetectionBindingSyncWithRequest:(LiveDescribeQualityDetectionBindingRequest*) describeQualityDetectionBindingRequest
{
LiveDescribeQualityDetectionBindingExecutor* excutor = [[LiveDescribeQualityDetectionBindingExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeQualityDetectionBindingRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeQualityDetectionBindingResponse* response = [[LiveDescribeQualityDetectionBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeQualityDetectionBindingResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeQualityDetectionBindingAsyncWithRequest:(LiveDescribeQualityDetectionBindingRequest*) describeQualityDetectionBindingRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeQualityDetectionBindingResponse* _Nullable describeQualityDetectionBindingResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeQualityDetectionBindingExecutor* excutor = [[LiveDescribeQualityDetectionBindingExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeQualityDetectionBindingRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeQualityDetectionBindingResponse* response = [[LiveDescribeQualityDetectionBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveRestartConfigs sync request
@param describeLiveRestartConfigsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveRestartConfigsResponse` the request response data model
*/
-(NSDictionary*) describeLiveRestartConfigsSyncWithRequest:(LiveDescribeLiveRestartConfigsRequest*) describeLiveRestartConfigsRequest
{
LiveDescribeLiveRestartConfigsExecutor* excutor = [[LiveDescribeLiveRestartConfigsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveRestartConfigsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveRestartConfigsResponse* response = [[LiveDescribeLiveRestartConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveRestartConfigsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveRestartConfigsAsyncWithRequest:(LiveDescribeLiveRestartConfigsRequest*) describeLiveRestartConfigsRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveRestartConfigsResponse* _Nullable describeLiveRestartConfigsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveRestartConfigsExecutor* excutor = [[LiveDescribeLiveRestartConfigsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveRestartConfigsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveRestartConfigsResponse* response = [[LiveDescribeLiveRestartConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeRecordBinding sync request
@param describeRecordBindingRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeRecordBindingResponse` the request response data model
*/
-(NSDictionary*) describeRecordBindingSyncWithRequest:(LiveDescribeRecordBindingRequest*) describeRecordBindingRequest
{
LiveDescribeRecordBindingExecutor* excutor = [[LiveDescribeRecordBindingExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeRecordBindingRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeRecordBindingResponse* response = [[LiveDescribeRecordBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeRecordBindingResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeRecordBindingAsyncWithRequest:(LiveDescribeRecordBindingRequest*) describeRecordBindingRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeRecordBindingResponse* _Nullable describeRecordBindingResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeRecordBindingExecutor* excutor = [[LiveDescribeRecordBindingExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeRecordBindingRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeRecordBindingResponse* response = [[LiveDescribeRecordBindingResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamTranscodeTemplate sync request
@param describeCustomLiveStreamTranscodeTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamTranscodeTemplateResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamTranscodeTemplateSyncWithRequest:(LiveDescribeCustomLiveStreamTranscodeTemplateRequest*) describeCustomLiveStreamTranscodeTemplateRequest
{
LiveDescribeCustomLiveStreamTranscodeTemplateExecutor* excutor = [[LiveDescribeCustomLiveStreamTranscodeTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamTranscodeTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamTranscodeTemplateResponse* response = [[LiveDescribeCustomLiveStreamTranscodeTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamTranscodeTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamTranscodeTemplateAsyncWithRequest:(LiveDescribeCustomLiveStreamTranscodeTemplateRequest*) describeCustomLiveStreamTranscodeTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamTranscodeTemplateResponse* _Nullable describeCustomLiveStreamTranscodeTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamTranscodeTemplateExecutor* excutor = [[LiveDescribeCustomLiveStreamTranscodeTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamTranscodeTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamTranscodeTemplateResponse* response = [[LiveDescribeCustomLiveStreamTranscodeTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
closeLiveRestart sync request
@param closeLiveRestartRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `closeLiveRestartResponse` the request response data model
*/
-(NSDictionary*) closeLiveRestartSyncWithRequest:(LiveCloseLiveRestartRequest*) closeLiveRestartRequest
{
LiveCloseLiveRestartExecutor* excutor = [[LiveCloseLiveRestartExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:closeLiveRestartRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveCloseLiveRestartResponse* response = [[LiveCloseLiveRestartResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"closeLiveRestartResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)closeLiveRestartAsyncWithRequest:(LiveCloseLiveRestartRequest*) closeLiveRestartRequest
                       completionHandler:(void(^)(int statusCode,LiveCloseLiveRestartResponse* _Nullable closeLiveRestartResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveCloseLiveRestartExecutor* excutor = [[LiveCloseLiveRestartExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:closeLiveRestartRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveCloseLiveRestartResponse* response = [[LiveCloseLiveRestartResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamAppSnapshot sync request
@param addLiveStreamAppSnapshotRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamAppSnapshotResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamAppSnapshotSyncWithRequest:(LiveAddLiveStreamAppSnapshotRequest*) addLiveStreamAppSnapshotRequest
{
LiveAddLiveStreamAppSnapshotExecutor* excutor = [[LiveAddLiveStreamAppSnapshotExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamAppSnapshotRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppSnapshotResponse* response = [[LiveAddLiveStreamAppSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamAppSnapshotResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamAppSnapshotAsyncWithRequest:(LiveAddLiveStreamAppSnapshotRequest*) addLiveStreamAppSnapshotRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamAppSnapshotResponse* _Nullable addLiveStreamAppSnapshotResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamAppSnapshotExecutor* excutor = [[LiveAddLiveStreamAppSnapshotExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamAppSnapshotRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppSnapshotResponse* response = [[LiveAddLiveStreamAppSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveTranscodeStreamList sync request
@param describeLiveTranscodeStreamListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveTranscodeStreamListResponse` the request response data model
*/
-(NSDictionary*) describeLiveTranscodeStreamListSyncWithRequest:(LiveDescribeLiveTranscodeStreamListRequest*) describeLiveTranscodeStreamListRequest
{
LiveDescribeLiveTranscodeStreamListExecutor* excutor = [[LiveDescribeLiveTranscodeStreamListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveTranscodeStreamListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamListResponse* response = [[LiveDescribeLiveTranscodeStreamListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveTranscodeStreamListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveTranscodeStreamListAsyncWithRequest:(LiveDescribeLiveTranscodeStreamListRequest*) describeLiveTranscodeStreamListRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveTranscodeStreamListResponse* _Nullable describeLiveTranscodeStreamListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveTranscodeStreamListExecutor* excutor = [[LiveDescribeLiveTranscodeStreamListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveTranscodeStreamListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamListResponse* response = [[LiveDescribeLiveTranscodeStreamListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
closeLiveTimeshift sync request
@param closeLiveTimeshiftRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `closeLiveTimeshiftResponse` the request response data model
*/
-(NSDictionary*) closeLiveTimeshiftSyncWithRequest:(LiveCloseLiveTimeshiftRequest*) closeLiveTimeshiftRequest
{
LiveCloseLiveTimeshiftExecutor* excutor = [[LiveCloseLiveTimeshiftExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:closeLiveTimeshiftRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveCloseLiveTimeshiftResponse* response = [[LiveCloseLiveTimeshiftResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"closeLiveTimeshiftResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)closeLiveTimeshiftAsyncWithRequest:(LiveCloseLiveTimeshiftRequest*) closeLiveTimeshiftRequest
                       completionHandler:(void(^)(int statusCode,LiveCloseLiveTimeshiftResponse* _Nullable closeLiveTimeshiftResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveCloseLiveTimeshiftExecutor* excutor = [[LiveCloseLiveTimeshiftExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:closeLiveTimeshiftRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveCloseLiveTimeshiftResponse* response = [[LiveCloseLiveTimeshiftResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteCustomLiveStreamQualityDetectionTemplate sync request
@param deleteCustomLiveStreamQualityDetectionTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteCustomLiveStreamQualityDetectionTemplateResponse` the request response data model
*/
-(NSDictionary*) deleteCustomLiveStreamQualityDetectionTemplateSyncWithRequest:(LiveDeleteCustomLiveStreamQualityDetectionTemplateRequest*) deleteCustomLiveStreamQualityDetectionTemplateRequest
{
LiveDeleteCustomLiveStreamQualityDetectionTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamQualityDetectionTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteCustomLiveStreamQualityDetectionTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamQualityDetectionTemplateResponse* response = [[LiveDeleteCustomLiveStreamQualityDetectionTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteCustomLiveStreamQualityDetectionTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteCustomLiveStreamQualityDetectionTemplateAsyncWithRequest:(LiveDeleteCustomLiveStreamQualityDetectionTemplateRequest*) deleteCustomLiveStreamQualityDetectionTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteCustomLiveStreamQualityDetectionTemplateResponse* _Nullable deleteCustomLiveStreamQualityDetectionTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteCustomLiveStreamQualityDetectionTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamQualityDetectionTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteCustomLiveStreamQualityDetectionTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamQualityDetectionTemplateResponse* response = [[LiveDeleteCustomLiveStreamQualityDetectionTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveDomainCertificate sync request
@param describeLiveDomainCertificateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveDomainCertificateResponse` the request response data model
*/
-(NSDictionary*) describeLiveDomainCertificateSyncWithRequest:(LiveDescribeLiveDomainCertificateRequest*) describeLiveDomainCertificateRequest
{
LiveDescribeLiveDomainCertificateExecutor* excutor = [[LiveDescribeLiveDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveDomainCertificateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveDomainCertificateResponse* response = [[LiveDescribeLiveDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveDomainCertificateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveDomainCertificateAsyncWithRequest:(LiveDescribeLiveDomainCertificateRequest*) describeLiveDomainCertificateRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveDomainCertificateResponse* _Nullable describeLiveDomainCertificateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveDomainCertificateExecutor* excutor = [[LiveDescribeLiveDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveDomainCertificateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveDomainCertificateResponse* response = [[LiveDescribeLiveDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveTranscodeStreamPlayerUserNum sync request
@param describeLiveTranscodeStreamPlayerUserNumRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveTranscodeStreamPlayerUserNumResponse` the request response data model
*/
-(NSDictionary*) describeLiveTranscodeStreamPlayerUserNumSyncWithRequest:(LiveDescribeLiveTranscodeStreamPlayerUserNumRequest*) describeLiveTranscodeStreamPlayerUserNumRequest
{
LiveDescribeLiveTranscodeStreamPlayerUserNumExecutor* excutor = [[LiveDescribeLiveTranscodeStreamPlayerUserNumExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveTranscodeStreamPlayerUserNumRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamPlayerUserNumResponse* response = [[LiveDescribeLiveTranscodeStreamPlayerUserNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveTranscodeStreamPlayerUserNumResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveTranscodeStreamPlayerUserNumAsyncWithRequest:(LiveDescribeLiveTranscodeStreamPlayerUserNumRequest*) describeLiveTranscodeStreamPlayerUserNumRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveTranscodeStreamPlayerUserNumResponse* _Nullable describeLiveTranscodeStreamPlayerUserNumResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveTranscodeStreamPlayerUserNumExecutor* excutor = [[LiveDescribeLiveTranscodeStreamPlayerUserNumExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveTranscodeStreamPlayerUserNumRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamPlayerUserNumResponse* response = [[LiveDescribeLiveTranscodeStreamPlayerUserNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveRecordTask sync request
@param addLiveRecordTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveRecordTaskResponse` the request response data model
*/
-(NSDictionary*) addLiveRecordTaskSyncWithRequest:(LiveAddLiveRecordTaskRequest*) addLiveRecordTaskRequest
{
LiveAddLiveRecordTaskExecutor* excutor = [[LiveAddLiveRecordTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveRecordTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveRecordTaskResponse* response = [[LiveAddLiveRecordTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveRecordTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveRecordTaskAsyncWithRequest:(LiveAddLiveRecordTaskRequest*) addLiveRecordTaskRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveRecordTaskResponse* _Nullable addLiveRecordTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveRecordTaskExecutor* excutor = [[LiveAddLiveRecordTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveRecordTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveRecordTaskResponse* response = [[LiveAddLiveRecordTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamDomainWatermark sync request
@param addLiveStreamDomainWatermarkRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamDomainWatermarkResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamDomainWatermarkSyncWithRequest:(LiveAddLiveStreamDomainWatermarkRequest*) addLiveStreamDomainWatermarkRequest
{
LiveAddLiveStreamDomainWatermarkExecutor* excutor = [[LiveAddLiveStreamDomainWatermarkExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamDomainWatermarkRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainWatermarkResponse* response = [[LiveAddLiveStreamDomainWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamDomainWatermarkResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamDomainWatermarkAsyncWithRequest:(LiveAddLiveStreamDomainWatermarkRequest*) addLiveStreamDomainWatermarkRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamDomainWatermarkResponse* _Nullable addLiveStreamDomainWatermarkResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamDomainWatermarkExecutor* excutor = [[LiveAddLiveStreamDomainWatermarkExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamDomainWatermarkRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainWatermarkResponse* response = [[LiveAddLiveStreamDomainWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamDomainSnapshot sync request
@param deleteLiveStreamDomainSnapshotRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamDomainSnapshotResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamDomainSnapshotSyncWithRequest:(LiveDeleteLiveStreamDomainSnapshotRequest*) deleteLiveStreamDomainSnapshotRequest
{
LiveDeleteLiveStreamDomainSnapshotExecutor* excutor = [[LiveDeleteLiveStreamDomainSnapshotExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamDomainSnapshotRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainSnapshotResponse* response = [[LiveDeleteLiveStreamDomainSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamDomainSnapshotResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamDomainSnapshotAsyncWithRequest:(LiveDeleteLiveStreamDomainSnapshotRequest*) deleteLiveStreamDomainSnapshotRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamDomainSnapshotResponse* _Nullable deleteLiveStreamDomainSnapshotResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamDomainSnapshotExecutor* excutor = [[LiveDeleteLiveStreamDomainSnapshotExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamDomainSnapshotRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainSnapshotResponse* response = [[LiveDeleteLiveStreamDomainSnapshotResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveStreamQualityDetectionNotifyConfig sync request
@param setLiveStreamQualityDetectionNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveStreamQualityDetectionNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) setLiveStreamQualityDetectionNotifyConfigSyncWithRequest:(LiveSetLiveStreamQualityDetectionNotifyConfigRequest*) setLiveStreamQualityDetectionNotifyConfigRequest
{
LiveSetLiveStreamQualityDetectionNotifyConfigExecutor* excutor = [[LiveSetLiveStreamQualityDetectionNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveStreamQualityDetectionNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamQualityDetectionNotifyConfigResponse* response = [[LiveSetLiveStreamQualityDetectionNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveStreamQualityDetectionNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveStreamQualityDetectionNotifyConfigAsyncWithRequest:(LiveSetLiveStreamQualityDetectionNotifyConfigRequest*) setLiveStreamQualityDetectionNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLiveStreamQualityDetectionNotifyConfigResponse* _Nullable setLiveStreamQualityDetectionNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLiveStreamQualityDetectionNotifyConfigExecutor* excutor = [[LiveSetLiveStreamQualityDetectionNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveStreamQualityDetectionNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveStreamQualityDetectionNotifyConfigResponse* response = [[LiveSetLiveStreamQualityDetectionNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamBandwidthData sync request
@param describeLiveStreamBandwidthDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamBandwidthDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamBandwidthDataSyncWithRequest:(LiveDescribeLiveStreamBandwidthDataRequest*) describeLiveStreamBandwidthDataRequest
{
LiveDescribeLiveStreamBandwidthDataExecutor* excutor = [[LiveDescribeLiveStreamBandwidthDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamBandwidthDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamBandwidthDataResponse* response = [[LiveDescribeLiveStreamBandwidthDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamBandwidthDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamBandwidthDataAsyncWithRequest:(LiveDescribeLiveStreamBandwidthDataRequest*) describeLiveStreamBandwidthDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamBandwidthDataResponse* _Nullable describeLiveStreamBandwidthDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamBandwidthDataExecutor* excutor = [[LiveDescribeLiveStreamBandwidthDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamBandwidthDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamBandwidthDataResponse* response = [[LiveDescribeLiveStreamBandwidthDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeDomainsLog sync request
@param describeDomainsLogRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeDomainsLogResponse` the request response data model
*/
-(NSDictionary*) describeDomainsLogSyncWithRequest:(LiveDescribeDomainsLogRequest*) describeDomainsLogRequest
{
LiveDescribeDomainsLogExecutor* excutor = [[LiveDescribeDomainsLogExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeDomainsLogRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeDomainsLogResponse* response = [[LiveDescribeDomainsLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeDomainsLogResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeDomainsLogAsyncWithRequest:(LiveDescribeDomainsLogRequest*) describeDomainsLogRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeDomainsLogResponse* _Nullable describeDomainsLogResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeDomainsLogExecutor* excutor = [[LiveDescribeDomainsLogExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeDomainsLogRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeDomainsLogResponse* response = [[LiveDescribeDomainsLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveRestartDomain sync request
@param addLiveRestartDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveRestartDomainResponse` the request response data model
*/
-(NSDictionary*) addLiveRestartDomainSyncWithRequest:(LiveAddLiveRestartDomainRequest*) addLiveRestartDomainRequest
{
LiveAddLiveRestartDomainExecutor* excutor = [[LiveAddLiveRestartDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveRestartDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveRestartDomainResponse* response = [[LiveAddLiveRestartDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveRestartDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveRestartDomainAsyncWithRequest:(LiveAddLiveRestartDomainRequest*) addLiveRestartDomainRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveRestartDomainResponse* _Nullable addLiveRestartDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveRestartDomainExecutor* excutor = [[LiveAddLiveRestartDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveRestartDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveRestartDomainResponse* response = [[LiveAddLiveRestartDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamDomainQualityDetection sync request
@param deleteLiveStreamDomainQualityDetectionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamDomainQualityDetectionResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamDomainQualityDetectionSyncWithRequest:(LiveDeleteLiveStreamDomainQualityDetectionRequest*) deleteLiveStreamDomainQualityDetectionRequest
{
LiveDeleteLiveStreamDomainQualityDetectionExecutor* excutor = [[LiveDeleteLiveStreamDomainQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamDomainQualityDetectionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainQualityDetectionResponse* response = [[LiveDeleteLiveStreamDomainQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamDomainQualityDetectionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamDomainQualityDetectionAsyncWithRequest:(LiveDeleteLiveStreamDomainQualityDetectionRequest*) deleteLiveStreamDomainQualityDetectionRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamDomainQualityDetectionResponse* _Nullable deleteLiveStreamDomainQualityDetectionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamDomainQualityDetectionExecutor* excutor = [[LiveDeleteLiveStreamDomainQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamDomainQualityDetectionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainQualityDetectionResponse* response = [[LiveDeleteLiveStreamDomainQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveRestartDomainCertificate sync request
@param describeLiveRestartDomainCertificateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveRestartDomainCertificateResponse` the request response data model
*/
-(NSDictionary*) describeLiveRestartDomainCertificateSyncWithRequest:(LiveDescribeLiveRestartDomainCertificateRequest*) describeLiveRestartDomainCertificateRequest
{
LiveDescribeLiveRestartDomainCertificateExecutor* excutor = [[LiveDescribeLiveRestartDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveRestartDomainCertificateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveRestartDomainCertificateResponse* response = [[LiveDescribeLiveRestartDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveRestartDomainCertificateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveRestartDomainCertificateAsyncWithRequest:(LiveDescribeLiveRestartDomainCertificateRequest*) describeLiveRestartDomainCertificateRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveRestartDomainCertificateResponse* _Nullable describeLiveRestartDomainCertificateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveRestartDomainCertificateExecutor* excutor = [[LiveDescribeLiveRestartDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveRestartDomainCertificateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveRestartDomainCertificateResponse* response = [[LiveDescribeLiveRestartDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
forbidLiveStream sync request
@param forbidLiveStreamRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `forbidLiveStreamResponse` the request response data model
*/
-(NSDictionary*) forbidLiveStreamSyncWithRequest:(LiveForbidLiveStreamRequest*) forbidLiveStreamRequest
{
LiveForbidLiveStreamExecutor* excutor = [[LiveForbidLiveStreamExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:forbidLiveStreamRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveForbidLiveStreamResponse* response = [[LiveForbidLiveStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"forbidLiveStreamResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)forbidLiveStreamAsyncWithRequest:(LiveForbidLiveStreamRequest*) forbidLiveStreamRequest
                       completionHandler:(void(^)(int statusCode,LiveForbidLiveStreamResponse* _Nullable forbidLiveStreamResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveForbidLiveStreamExecutor* excutor = [[LiveForbidLiveStreamExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:forbidLiveStreamRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveForbidLiveStreamResponse* response = [[LiveForbidLiveStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describePublishStreamInfoData sync request
@param describePublishStreamInfoDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describePublishStreamInfoDataResponse` the request response data model
*/
-(NSDictionary*) describePublishStreamInfoDataSyncWithRequest:(LiveDescribePublishStreamInfoDataRequest*) describePublishStreamInfoDataRequest
{
LiveDescribePublishStreamInfoDataExecutor* excutor = [[LiveDescribePublishStreamInfoDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describePublishStreamInfoDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribePublishStreamInfoDataResponse* response = [[LiveDescribePublishStreamInfoDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describePublishStreamInfoDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describePublishStreamInfoDataAsyncWithRequest:(LiveDescribePublishStreamInfoDataRequest*) describePublishStreamInfoDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribePublishStreamInfoDataResponse* _Nullable describePublishStreamInfoDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribePublishStreamInfoDataExecutor* excutor = [[LiveDescribePublishStreamInfoDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describePublishStreamInfoDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribePublishStreamInfoDataResponse* response = [[LiveDescribePublishStreamInfoDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveTranscodeStreamNum sync request
@param describeLiveTranscodeStreamNumRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveTranscodeStreamNumResponse` the request response data model
*/
-(NSDictionary*) describeLiveTranscodeStreamNumSyncWithRequest:(LiveDescribeLiveTranscodeStreamNumRequest*) describeLiveTranscodeStreamNumRequest
{
LiveDescribeLiveTranscodeStreamNumExecutor* excutor = [[LiveDescribeLiveTranscodeStreamNumExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveTranscodeStreamNumRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamNumResponse* response = [[LiveDescribeLiveTranscodeStreamNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveTranscodeStreamNumResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveTranscodeStreamNumAsyncWithRequest:(LiveDescribeLiveTranscodeStreamNumRequest*) describeLiveTranscodeStreamNumRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveTranscodeStreamNumResponse* _Nullable describeLiveTranscodeStreamNumResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveTranscodeStreamNumExecutor* excutor = [[LiveDescribeLiveTranscodeStreamNumExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveTranscodeStreamNumRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamNumResponse* response = [[LiveDescribeLiveTranscodeStreamNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveRestartAuthKey sync request
@param setLiveRestartAuthKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveRestartAuthKeyResponse` the request response data model
*/
-(NSDictionary*) setLiveRestartAuthKeySyncWithRequest:(LiveSetLiveRestartAuthKeyRequest*) setLiveRestartAuthKeyRequest
{
LiveSetLiveRestartAuthKeyExecutor* excutor = [[LiveSetLiveRestartAuthKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveRestartAuthKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveRestartAuthKeyResponse* response = [[LiveSetLiveRestartAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveRestartAuthKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveRestartAuthKeyAsyncWithRequest:(LiveSetLiveRestartAuthKeyRequest*) setLiveRestartAuthKeyRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLiveRestartAuthKeyResponse* _Nullable setLiveRestartAuthKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLiveRestartAuthKeyExecutor* excutor = [[LiveSetLiveRestartAuthKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveRestartAuthKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveRestartAuthKeyResponse* response = [[LiveSetLiveRestartAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveDomainDetail sync request
@param describeLiveDomainDetailRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveDomainDetailResponse` the request response data model
*/
-(NSDictionary*) describeLiveDomainDetailSyncWithRequest:(LiveDescribeLiveDomainDetailRequest*) describeLiveDomainDetailRequest
{
LiveDescribeLiveDomainDetailExecutor* excutor = [[LiveDescribeLiveDomainDetailExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveDomainDetailRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveDomainDetailResponse* response = [[LiveDescribeLiveDomainDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveDomainDetailResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveDomainDetailAsyncWithRequest:(LiveDescribeLiveDomainDetailRequest*) describeLiveDomainDetailRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveDomainDetailResponse* _Nullable describeLiveDomainDetailResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveDomainDetailExecutor* excutor = [[LiveDescribeLiveDomainDetailExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveDomainDetailRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveDomainDetailResponse* response = [[LiveDescribeLiveDomainDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteCustomLiveStreamSnapshotTemplate sync request
@param deleteCustomLiveStreamSnapshotTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteCustomLiveStreamSnapshotTemplateResponse` the request response data model
*/
-(NSDictionary*) deleteCustomLiveStreamSnapshotTemplateSyncWithRequest:(LiveDeleteCustomLiveStreamSnapshotTemplateRequest*) deleteCustomLiveStreamSnapshotTemplateRequest
{
LiveDeleteCustomLiveStreamSnapshotTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamSnapshotTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteCustomLiveStreamSnapshotTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamSnapshotTemplateResponse* response = [[LiveDeleteCustomLiveStreamSnapshotTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteCustomLiveStreamSnapshotTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteCustomLiveStreamSnapshotTemplateAsyncWithRequest:(LiveDeleteCustomLiveStreamSnapshotTemplateRequest*) deleteCustomLiveStreamSnapshotTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteCustomLiveStreamSnapshotTemplateResponse* _Nullable deleteCustomLiveStreamSnapshotTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteCustomLiveStreamSnapshotTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamSnapshotTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteCustomLiveStreamSnapshotTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamSnapshotTemplateResponse* response = [[LiveDeleteCustomLiveStreamSnapshotTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addCustomLiveStreamWatermarkTemplate sync request
@param addCustomLiveStreamWatermarkTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addCustomLiveStreamWatermarkTemplateResponse` the request response data model
*/
-(NSDictionary*) addCustomLiveStreamWatermarkTemplateSyncWithRequest:(LiveAddCustomLiveStreamWatermarkTemplateRequest*) addCustomLiveStreamWatermarkTemplateRequest
{
LiveAddCustomLiveStreamWatermarkTemplateExecutor* excutor = [[LiveAddCustomLiveStreamWatermarkTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addCustomLiveStreamWatermarkTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamWatermarkTemplateResponse* response = [[LiveAddCustomLiveStreamWatermarkTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addCustomLiveStreamWatermarkTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addCustomLiveStreamWatermarkTemplateAsyncWithRequest:(LiveAddCustomLiveStreamWatermarkTemplateRequest*) addCustomLiveStreamWatermarkTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveAddCustomLiveStreamWatermarkTemplateResponse* _Nullable addCustomLiveStreamWatermarkTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddCustomLiveStreamWatermarkTemplateExecutor* excutor = [[LiveAddCustomLiveStreamWatermarkTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addCustomLiveStreamWatermarkTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamWatermarkTemplateResponse* response = [[LiveAddCustomLiveStreamWatermarkTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteCustomLiveStreamWatermarkTemplate sync request
@param deleteCustomLiveStreamWatermarkTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteCustomLiveStreamWatermarkTemplateResponse` the request response data model
*/
-(NSDictionary*) deleteCustomLiveStreamWatermarkTemplateSyncWithRequest:(LiveDeleteCustomLiveStreamWatermarkTemplateRequest*) deleteCustomLiveStreamWatermarkTemplateRequest
{
LiveDeleteCustomLiveStreamWatermarkTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamWatermarkTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteCustomLiveStreamWatermarkTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamWatermarkTemplateResponse* response = [[LiveDeleteCustomLiveStreamWatermarkTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteCustomLiveStreamWatermarkTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteCustomLiveStreamWatermarkTemplateAsyncWithRequest:(LiveDeleteCustomLiveStreamWatermarkTemplateRequest*) deleteCustomLiveStreamWatermarkTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteCustomLiveStreamWatermarkTemplateResponse* _Nullable deleteCustomLiveStreamWatermarkTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteCustomLiveStreamWatermarkTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamWatermarkTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteCustomLiveStreamWatermarkTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamWatermarkTemplateResponse* response = [[LiveDeleteCustomLiveStreamWatermarkTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamDomainWatermark sync request
@param deleteLiveStreamDomainWatermarkRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamDomainWatermarkResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamDomainWatermarkSyncWithRequest:(LiveDeleteLiveStreamDomainWatermarkRequest*) deleteLiveStreamDomainWatermarkRequest
{
LiveDeleteLiveStreamDomainWatermarkExecutor* excutor = [[LiveDeleteLiveStreamDomainWatermarkExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamDomainWatermarkRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainWatermarkResponse* response = [[LiveDeleteLiveStreamDomainWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamDomainWatermarkResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamDomainWatermarkAsyncWithRequest:(LiveDeleteLiveStreamDomainWatermarkRequest*) deleteLiveStreamDomainWatermarkRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamDomainWatermarkResponse* _Nullable deleteLiveStreamDomainWatermarkResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamDomainWatermarkExecutor* excutor = [[LiveDeleteLiveStreamDomainWatermarkExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamDomainWatermarkRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainWatermarkResponse* response = [[LiveDeleteLiveStreamDomainWatermarkResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamAppRecord sync request
@param deleteLiveStreamAppRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamAppRecordResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamAppRecordSyncWithRequest:(LiveDeleteLiveStreamAppRecordRequest*) deleteLiveStreamAppRecordRequest
{
LiveDeleteLiveStreamAppRecordExecutor* excutor = [[LiveDeleteLiveStreamAppRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamAppRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppRecordResponse* response = [[LiveDeleteLiveStreamAppRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamAppRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamAppRecordAsyncWithRequest:(LiveDeleteLiveStreamAppRecordRequest*) deleteLiveStreamAppRecordRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamAppRecordResponse* _Nullable deleteLiveStreamAppRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamAppRecordExecutor* excutor = [[LiveDeleteLiveStreamAppRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamAppRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppRecordResponse* response = [[LiveDeleteLiveStreamAppRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteCustomLiveStreamRecordTemplate sync request
@param deleteCustomLiveStreamRecordTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteCustomLiveStreamRecordTemplateResponse` the request response data model
*/
-(NSDictionary*) deleteCustomLiveStreamRecordTemplateSyncWithRequest:(LiveDeleteCustomLiveStreamRecordTemplateRequest*) deleteCustomLiveStreamRecordTemplateRequest
{
LiveDeleteCustomLiveStreamRecordTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamRecordTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteCustomLiveStreamRecordTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamRecordTemplateResponse* response = [[LiveDeleteCustomLiveStreamRecordTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteCustomLiveStreamRecordTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteCustomLiveStreamRecordTemplateAsyncWithRequest:(LiveDeleteCustomLiveStreamRecordTemplateRequest*) deleteCustomLiveStreamRecordTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteCustomLiveStreamRecordTemplateResponse* _Nullable deleteCustomLiveStreamRecordTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteCustomLiveStreamRecordTemplateExecutor* excutor = [[LiveDeleteCustomLiveStreamRecordTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteCustomLiveStreamRecordTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteCustomLiveStreamRecordTemplateResponse* response = [[LiveDeleteCustomLiveStreamRecordTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamQualityDetectionNotifyConfig sync request
@param deleteLiveStreamQualityDetectionNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamQualityDetectionNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamQualityDetectionNotifyConfigSyncWithRequest:(LiveDeleteLiveStreamQualityDetectionNotifyConfigRequest*) deleteLiveStreamQualityDetectionNotifyConfigRequest
{
LiveDeleteLiveStreamQualityDetectionNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamQualityDetectionNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamQualityDetectionNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamQualityDetectionNotifyConfigResponse* response = [[LiveDeleteLiveStreamQualityDetectionNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamQualityDetectionNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamQualityDetectionNotifyConfigAsyncWithRequest:(LiveDeleteLiveStreamQualityDetectionNotifyConfigRequest*) deleteLiveStreamQualityDetectionNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamQualityDetectionNotifyConfigResponse* _Nullable deleteLiveStreamQualityDetectionNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamQualityDetectionNotifyConfigExecutor* excutor = [[LiveDeleteLiveStreamQualityDetectionNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamQualityDetectionNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamQualityDetectionNotifyConfigResponse* response = [[LiveDeleteLiveStreamQualityDetectionNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveRestartDomainCertificate sync request
@param setLiveRestartDomainCertificateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveRestartDomainCertificateResponse` the request response data model
*/
-(NSDictionary*) setLiveRestartDomainCertificateSyncWithRequest:(LiveSetLiveRestartDomainCertificateRequest*) setLiveRestartDomainCertificateRequest
{
LiveSetLiveRestartDomainCertificateExecutor* excutor = [[LiveSetLiveRestartDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveRestartDomainCertificateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveRestartDomainCertificateResponse* response = [[LiveSetLiveRestartDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveRestartDomainCertificateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveRestartDomainCertificateAsyncWithRequest:(LiveSetLiveRestartDomainCertificateRequest*) setLiveRestartDomainCertificateRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLiveRestartDomainCertificateResponse* _Nullable setLiveRestartDomainCertificateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLiveRestartDomainCertificateExecutor* excutor = [[LiveSetLiveRestartDomainCertificateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveRestartDomainCertificateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLiveRestartDomainCertificateResponse* response = [[LiveSetLiveRestartDomainCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveSnapshotData sync request
@param describeLiveSnapshotDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveSnapshotDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveSnapshotDataSyncWithRequest:(LiveDescribeLiveSnapshotDataRequest*) describeLiveSnapshotDataRequest
{
LiveDescribeLiveSnapshotDataExecutor* excutor = [[LiveDescribeLiveSnapshotDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveSnapshotDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveSnapshotDataResponse* response = [[LiveDescribeLiveSnapshotDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveSnapshotDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveSnapshotDataAsyncWithRequest:(LiveDescribeLiveSnapshotDataRequest*) describeLiveSnapshotDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveSnapshotDataResponse* _Nullable describeLiveSnapshotDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveSnapshotDataExecutor* excutor = [[LiveDescribeLiveSnapshotDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveSnapshotDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveSnapshotDataResponse* response = [[LiveDescribeLiveSnapshotDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamDomainTranscode sync request
@param deleteLiveStreamDomainTranscodeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamDomainTranscodeResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamDomainTranscodeSyncWithRequest:(LiveDeleteLiveStreamDomainTranscodeRequest*) deleteLiveStreamDomainTranscodeRequest
{
LiveDeleteLiveStreamDomainTranscodeExecutor* excutor = [[LiveDeleteLiveStreamDomainTranscodeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamDomainTranscodeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainTranscodeResponse* response = [[LiveDeleteLiveStreamDomainTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamDomainTranscodeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamDomainTranscodeAsyncWithRequest:(LiveDeleteLiveStreamDomainTranscodeRequest*) deleteLiveStreamDomainTranscodeRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamDomainTranscodeResponse* _Nullable deleteLiveStreamDomainTranscodeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamDomainTranscodeExecutor* excutor = [[LiveDeleteLiveStreamDomainTranscodeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamDomainTranscodeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainTranscodeResponse* response = [[LiveDeleteLiveStreamDomainTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamAppQualityDetection sync request
@param deleteLiveStreamAppQualityDetectionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamAppQualityDetectionResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamAppQualityDetectionSyncWithRequest:(LiveDeleteLiveStreamAppQualityDetectionRequest*) deleteLiveStreamAppQualityDetectionRequest
{
LiveDeleteLiveStreamAppQualityDetectionExecutor* excutor = [[LiveDeleteLiveStreamAppQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamAppQualityDetectionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppQualityDetectionResponse* response = [[LiveDeleteLiveStreamAppQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamAppQualityDetectionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamAppQualityDetectionAsyncWithRequest:(LiveDeleteLiveStreamAppQualityDetectionRequest*) deleteLiveStreamAppQualityDetectionRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamAppQualityDetectionResponse* _Nullable deleteLiveStreamAppQualityDetectionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamAppQualityDetectionExecutor* excutor = [[LiveDeleteLiveStreamAppQualityDetectionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamAppQualityDetectionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppQualityDetectionResponse* response = [[LiveDeleteLiveStreamAppQualityDetectionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamDomainRecord sync request
@param deleteLiveStreamDomainRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamDomainRecordResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamDomainRecordSyncWithRequest:(LiveDeleteLiveStreamDomainRecordRequest*) deleteLiveStreamDomainRecordRequest
{
LiveDeleteLiveStreamDomainRecordExecutor* excutor = [[LiveDeleteLiveStreamDomainRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamDomainRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainRecordResponse* response = [[LiveDeleteLiveStreamDomainRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamDomainRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamDomainRecordAsyncWithRequest:(LiveDeleteLiveStreamDomainRecordRequest*) deleteLiveStreamDomainRecordRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamDomainRecordResponse* _Nullable deleteLiveStreamDomainRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamDomainRecordExecutor* excutor = [[LiveDeleteLiveStreamDomainRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamDomainRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamDomainRecordResponse* response = [[LiveDeleteLiveStreamDomainRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLivePublishStreamNum sync request
@param describeLivePublishStreamNumRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLivePublishStreamNumResponse` the request response data model
*/
-(NSDictionary*) describeLivePublishStreamNumSyncWithRequest:(LiveDescribeLivePublishStreamNumRequest*) describeLivePublishStreamNumRequest
{
LiveDescribeLivePublishStreamNumExecutor* excutor = [[LiveDescribeLivePublishStreamNumExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLivePublishStreamNumRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLivePublishStreamNumResponse* response = [[LiveDescribeLivePublishStreamNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLivePublishStreamNumResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLivePublishStreamNumAsyncWithRequest:(LiveDescribeLivePublishStreamNumRequest*) describeLivePublishStreamNumRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLivePublishStreamNumResponse* _Nullable describeLivePublishStreamNumResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLivePublishStreamNumExecutor* excutor = [[LiveDescribeLivePublishStreamNumExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLivePublishStreamNumRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLivePublishStreamNumResponse* response = [[LiveDescribeLivePublishStreamNumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeSystemLiveStreamTranscodeTemplates sync request
@param describeSystemLiveStreamTranscodeTemplatesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeSystemLiveStreamTranscodeTemplatesResponse` the request response data model
*/
-(NSDictionary*) describeSystemLiveStreamTranscodeTemplatesSyncWithRequest:(LiveDescribeSystemLiveStreamTranscodeTemplatesRequest*) describeSystemLiveStreamTranscodeTemplatesRequest
{
LiveDescribeSystemLiveStreamTranscodeTemplatesExecutor* excutor = [[LiveDescribeSystemLiveStreamTranscodeTemplatesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeSystemLiveStreamTranscodeTemplatesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeSystemLiveStreamTranscodeTemplatesResponse* response = [[LiveDescribeSystemLiveStreamTranscodeTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeSystemLiveStreamTranscodeTemplatesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeSystemLiveStreamTranscodeTemplatesAsyncWithRequest:(LiveDescribeSystemLiveStreamTranscodeTemplatesRequest*) describeSystemLiveStreamTranscodeTemplatesRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeSystemLiveStreamTranscodeTemplatesResponse* _Nullable describeSystemLiveStreamTranscodeTemplatesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeSystemLiveStreamTranscodeTemplatesExecutor* excutor = [[LiveDescribeSystemLiveStreamTranscodeTemplatesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeSystemLiveStreamTranscodeTemplatesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeSystemLiveStreamTranscodeTemplatesResponse* response = [[LiveDescribeSystemLiveStreamTranscodeTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStatisticGroupByArea sync request
@param describeLiveStatisticGroupByAreaRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStatisticGroupByAreaResponse` the request response data model
*/
-(NSDictionary*) describeLiveStatisticGroupByAreaSyncWithRequest:(LiveDescribeLiveStatisticGroupByAreaRequest*) describeLiveStatisticGroupByAreaRequest
{
LiveDescribeLiveStatisticGroupByAreaExecutor* excutor = [[LiveDescribeLiveStatisticGroupByAreaExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStatisticGroupByAreaRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStatisticGroupByAreaResponse* response = [[LiveDescribeLiveStatisticGroupByAreaResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStatisticGroupByAreaResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStatisticGroupByAreaAsyncWithRequest:(LiveDescribeLiveStatisticGroupByAreaRequest*) describeLiveStatisticGroupByAreaRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStatisticGroupByAreaResponse* _Nullable describeLiveStatisticGroupByAreaResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStatisticGroupByAreaExecutor* excutor = [[LiveDescribeLiveStatisticGroupByAreaExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStatisticGroupByAreaRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStatisticGroupByAreaResponse* response = [[LiveDescribeLiveStatisticGroupByAreaResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamPublishList sync request
@param describeLiveStreamPublishListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamPublishListResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamPublishListSyncWithRequest:(LiveDescribeLiveStreamPublishListRequest*) describeLiveStreamPublishListRequest
{
LiveDescribeLiveStreamPublishListExecutor* excutor = [[LiveDescribeLiveStreamPublishListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamPublishListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPublishListResponse* response = [[LiveDescribeLiveStreamPublishListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamPublishListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamPublishListAsyncWithRequest:(LiveDescribeLiveStreamPublishListRequest*) describeLiveStreamPublishListRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamPublishListResponse* _Nullable describeLiveStreamPublishListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamPublishListExecutor* excutor = [[LiveDescribeLiveStreamPublishListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamPublishListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPublishListResponse* response = [[LiveDescribeLiveStreamPublishListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamPublishTrafficData sync request
@param describeLiveStreamPublishTrafficDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamPublishTrafficDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamPublishTrafficDataSyncWithRequest:(LiveDescribeLiveStreamPublishTrafficDataRequest*) describeLiveStreamPublishTrafficDataRequest
{
LiveDescribeLiveStreamPublishTrafficDataExecutor* excutor = [[LiveDescribeLiveStreamPublishTrafficDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamPublishTrafficDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPublishTrafficDataResponse* response = [[LiveDescribeLiveStreamPublishTrafficDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamPublishTrafficDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamPublishTrafficDataAsyncWithRequest:(LiveDescribeLiveStreamPublishTrafficDataRequest*) describeLiveStreamPublishTrafficDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamPublishTrafficDataResponse* _Nullable describeLiveStreamPublishTrafficDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamPublishTrafficDataExecutor* excutor = [[LiveDescribeLiveStreamPublishTrafficDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamPublishTrafficDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamPublishTrafficDataResponse* response = [[LiveDescribeLiveStreamPublishTrafficDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamAppRecord sync request
@param addLiveStreamAppRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamAppRecordResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamAppRecordSyncWithRequest:(LiveAddLiveStreamAppRecordRequest*) addLiveStreamAppRecordRequest
{
LiveAddLiveStreamAppRecordExecutor* excutor = [[LiveAddLiveStreamAppRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamAppRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppRecordResponse* response = [[LiveAddLiveStreamAppRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamAppRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamAppRecordAsyncWithRequest:(LiveAddLiveStreamAppRecordRequest*) addLiveStreamAppRecordRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamAppRecordResponse* _Nullable addLiveStreamAppRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamAppRecordExecutor* excutor = [[LiveAddLiveStreamAppRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamAppRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamAppRecordResponse* response = [[LiveAddLiveStreamAppRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamDomainRecord sync request
@param addLiveStreamDomainRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamDomainRecordResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamDomainRecordSyncWithRequest:(LiveAddLiveStreamDomainRecordRequest*) addLiveStreamDomainRecordRequest
{
LiveAddLiveStreamDomainRecordExecutor* excutor = [[LiveAddLiveStreamDomainRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamDomainRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainRecordResponse* response = [[LiveAddLiveStreamDomainRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamDomainRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamDomainRecordAsyncWithRequest:(LiveAddLiveStreamDomainRecordRequest*) addLiveStreamDomainRecordRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamDomainRecordResponse* _Nullable addLiveStreamDomainRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamDomainRecordExecutor* excutor = [[LiveAddLiveStreamDomainRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamDomainRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainRecordResponse* response = [[LiveAddLiveStreamDomainRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStatisticGroupByAreaIsp sync request
@param describeLiveStatisticGroupByAreaIspRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStatisticGroupByAreaIspResponse` the request response data model
*/
-(NSDictionary*) describeLiveStatisticGroupByAreaIspSyncWithRequest:(LiveDescribeLiveStatisticGroupByAreaIspRequest*) describeLiveStatisticGroupByAreaIspRequest
{
LiveDescribeLiveStatisticGroupByAreaIspExecutor* excutor = [[LiveDescribeLiveStatisticGroupByAreaIspExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStatisticGroupByAreaIspRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStatisticGroupByAreaIspResponse* response = [[LiveDescribeLiveStatisticGroupByAreaIspResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStatisticGroupByAreaIspResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStatisticGroupByAreaIspAsyncWithRequest:(LiveDescribeLiveStatisticGroupByAreaIspRequest*) describeLiveStatisticGroupByAreaIspRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStatisticGroupByAreaIspResponse* _Nullable describeLiveStatisticGroupByAreaIspResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStatisticGroupByAreaIspExecutor* excutor = [[LiveDescribeLiveStatisticGroupByAreaIspExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStatisticGroupByAreaIspRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStatisticGroupByAreaIspResponse* response = [[LiveDescribeLiveStatisticGroupByAreaIspResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamSnapshotNotifyConfig sync request
@param describeLiveStreamSnapshotNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamSnapshotNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamSnapshotNotifyConfigSyncWithRequest:(LiveDescribeLiveStreamSnapshotNotifyConfigRequest*) describeLiveStreamSnapshotNotifyConfigRequest
{
LiveDescribeLiveStreamSnapshotNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamSnapshotNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamSnapshotNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamSnapshotNotifyConfigResponse* response = [[LiveDescribeLiveStreamSnapshotNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamSnapshotNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamSnapshotNotifyConfigAsyncWithRequest:(LiveDescribeLiveStreamSnapshotNotifyConfigRequest*) describeLiveStreamSnapshotNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamSnapshotNotifyConfigResponse* _Nullable describeLiveStreamSnapshotNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamSnapshotNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamSnapshotNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamSnapshotNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamSnapshotNotifyConfigResponse* response = [[LiveDescribeLiveStreamSnapshotNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamTranscodeConfig sync request
@param describeLiveStreamTranscodeConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamTranscodeConfigResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamTranscodeConfigSyncWithRequest:(LiveDescribeLiveStreamTranscodeConfigRequest*) describeLiveStreamTranscodeConfigRequest
{
LiveDescribeLiveStreamTranscodeConfigExecutor* excutor = [[LiveDescribeLiveStreamTranscodeConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamTranscodeConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamTranscodeConfigResponse* response = [[LiveDescribeLiveStreamTranscodeConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamTranscodeConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamTranscodeConfigAsyncWithRequest:(LiveDescribeLiveStreamTranscodeConfigRequest*) describeLiveStreamTranscodeConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamTranscodeConfigResponse* _Nullable describeLiveStreamTranscodeConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamTranscodeConfigExecutor* excutor = [[LiveDescribeLiveStreamTranscodeConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamTranscodeConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamTranscodeConfigResponse* response = [[LiveDescribeLiveStreamTranscodeConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLivePlayAuthKey sync request
@param setLivePlayAuthKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLivePlayAuthKeyResponse` the request response data model
*/
-(NSDictionary*) setLivePlayAuthKeySyncWithRequest:(LiveSetLivePlayAuthKeyRequest*) setLivePlayAuthKeyRequest
{
LiveSetLivePlayAuthKeyExecutor* excutor = [[LiveSetLivePlayAuthKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLivePlayAuthKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLivePlayAuthKeyResponse* response = [[LiveSetLivePlayAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLivePlayAuthKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLivePlayAuthKeyAsyncWithRequest:(LiveSetLivePlayAuthKeyRequest*) setLivePlayAuthKeyRequest
                       completionHandler:(void(^)(int statusCode,LiveSetLivePlayAuthKeyResponse* _Nullable setLivePlayAuthKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveSetLivePlayAuthKeyExecutor* excutor = [[LiveSetLivePlayAuthKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLivePlayAuthKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveSetLivePlayAuthKeyResponse* response = [[LiveSetLivePlayAuthKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveApp sync request
@param describeLiveAppRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveAppResponse` the request response data model
*/
-(NSDictionary*) describeLiveAppSyncWithRequest:(LiveDescribeLiveAppRequest*) describeLiveAppRequest
{
LiveDescribeLiveAppExecutor* excutor = [[LiveDescribeLiveAppExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveAppRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveAppResponse* response = [[LiveDescribeLiveAppResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveAppResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveAppAsyncWithRequest:(LiveDescribeLiveAppRequest*) describeLiveAppRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveAppResponse* _Nullable describeLiveAppResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveAppExecutor* excutor = [[LiveDescribeLiveAppExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveAppRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveAppResponse* response = [[LiveDescribeLiveAppResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
interruptLiveStream sync request
@param interruptLiveStreamRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `interruptLiveStreamResponse` the request response data model
*/
-(NSDictionary*) interruptLiveStreamSyncWithRequest:(LiveInterruptLiveStreamRequest*) interruptLiveStreamRequest
{
LiveInterruptLiveStreamExecutor* excutor = [[LiveInterruptLiveStreamExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:interruptLiveStreamRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveInterruptLiveStreamResponse* response = [[LiveInterruptLiveStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"interruptLiveStreamResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)interruptLiveStreamAsyncWithRequest:(LiveInterruptLiveStreamRequest*) interruptLiveStreamRequest
                       completionHandler:(void(^)(int statusCode,LiveInterruptLiveStreamResponse* _Nullable interruptLiveStreamResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveInterruptLiveStreamExecutor* excutor = [[LiveInterruptLiveStreamExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:interruptLiveStreamRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveInterruptLiveStreamResponse* response = [[LiveInterruptLiveStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamQualityDetectionNotifyConfig sync request
@param describeLiveStreamQualityDetectionNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamQualityDetectionNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamQualityDetectionNotifyConfigSyncWithRequest:(LiveDescribeLiveStreamQualityDetectionNotifyConfigRequest*) describeLiveStreamQualityDetectionNotifyConfigRequest
{
LiveDescribeLiveStreamQualityDetectionNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamQualityDetectionNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamQualityDetectionNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamQualityDetectionNotifyConfigResponse* response = [[LiveDescribeLiveStreamQualityDetectionNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamQualityDetectionNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamQualityDetectionNotifyConfigAsyncWithRequest:(LiveDescribeLiveStreamQualityDetectionNotifyConfigRequest*) describeLiveStreamQualityDetectionNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamQualityDetectionNotifyConfigResponse* _Nullable describeLiveStreamQualityDetectionNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamQualityDetectionNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamQualityDetectionNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamQualityDetectionNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamQualityDetectionNotifyConfigResponse* response = [[LiveDescribeLiveStreamQualityDetectionNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveDomain sync request
@param addLiveDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveDomainResponse` the request response data model
*/
-(NSDictionary*) addLiveDomainSyncWithRequest:(LiveAddLiveDomainRequest*) addLiveDomainRequest
{
LiveAddLiveDomainExecutor* excutor = [[LiveAddLiveDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveDomainResponse* response = [[LiveAddLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveDomainAsyncWithRequest:(LiveAddLiveDomainRequest*) addLiveDomainRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveDomainResponse* _Nullable addLiveDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveDomainExecutor* excutor = [[LiveAddLiveDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveDomainResponse* response = [[LiveAddLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveTranscodeStreamBandwidth sync request
@param describeLiveTranscodeStreamBandwidthRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveTranscodeStreamBandwidthResponse` the request response data model
*/
-(NSDictionary*) describeLiveTranscodeStreamBandwidthSyncWithRequest:(LiveDescribeLiveTranscodeStreamBandwidthRequest*) describeLiveTranscodeStreamBandwidthRequest
{
LiveDescribeLiveTranscodeStreamBandwidthExecutor* excutor = [[LiveDescribeLiveTranscodeStreamBandwidthExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveTranscodeStreamBandwidthRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamBandwidthResponse* response = [[LiveDescribeLiveTranscodeStreamBandwidthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveTranscodeStreamBandwidthResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveTranscodeStreamBandwidthAsyncWithRequest:(LiveDescribeLiveTranscodeStreamBandwidthRequest*) describeLiveTranscodeStreamBandwidthRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveTranscodeStreamBandwidthResponse* _Nullable describeLiveTranscodeStreamBandwidthResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveTranscodeStreamBandwidthExecutor* excutor = [[LiveDescribeLiveTranscodeStreamBandwidthExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveTranscodeStreamBandwidthRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveTranscodeStreamBandwidthResponse* response = [[LiveDescribeLiveTranscodeStreamBandwidthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamInfo sync request
@param describeLiveStreamInfoRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamInfoResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamInfoSyncWithRequest:(LiveDescribeLiveStreamInfoRequest*) describeLiveStreamInfoRequest
{
LiveDescribeLiveStreamInfoExecutor* excutor = [[LiveDescribeLiveStreamInfoExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamInfoRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamInfoResponse* response = [[LiveDescribeLiveStreamInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamInfoResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamInfoAsyncWithRequest:(LiveDescribeLiveStreamInfoRequest*) describeLiveStreamInfoRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamInfoResponse* _Nullable describeLiveStreamInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamInfoExecutor* excutor = [[LiveDescribeLiveStreamInfoExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamInfoRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamInfoResponse* response = [[LiveDescribeLiveStreamInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamQualityDetectionTemplates sync request
@param describeCustomLiveStreamQualityDetectionTemplatesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamQualityDetectionTemplatesResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamQualityDetectionTemplatesSyncWithRequest:(LiveDescribeCustomLiveStreamQualityDetectionTemplatesRequest*) describeCustomLiveStreamQualityDetectionTemplatesRequest
{
LiveDescribeCustomLiveStreamQualityDetectionTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamQualityDetectionTemplatesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamQualityDetectionTemplatesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamQualityDetectionTemplatesResponse* response = [[LiveDescribeCustomLiveStreamQualityDetectionTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamQualityDetectionTemplatesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamQualityDetectionTemplatesAsyncWithRequest:(LiveDescribeCustomLiveStreamQualityDetectionTemplatesRequest*) describeCustomLiveStreamQualityDetectionTemplatesRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamQualityDetectionTemplatesResponse* _Nullable describeCustomLiveStreamQualityDetectionTemplatesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamQualityDetectionTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamQualityDetectionTemplatesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamQualityDetectionTemplatesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamQualityDetectionTemplatesResponse* response = [[LiveDescribeCustomLiveStreamQualityDetectionTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamNotifyConfig sync request
@param describeLiveStreamNotifyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamNotifyConfigResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamNotifyConfigSyncWithRequest:(LiveDescribeLiveStreamNotifyConfigRequest*) describeLiveStreamNotifyConfigRequest
{
LiveDescribeLiveStreamNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamNotifyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamNotifyConfigResponse* response = [[LiveDescribeLiveStreamNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamNotifyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamNotifyConfigAsyncWithRequest:(LiveDescribeLiveStreamNotifyConfigRequest*) describeLiveStreamNotifyConfigRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamNotifyConfigResponse* _Nullable describeLiveStreamNotifyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamNotifyConfigExecutor* excutor = [[LiveDescribeLiveStreamNotifyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamNotifyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamNotifyConfigResponse* response = [[LiveDescribeLiveStreamNotifyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeCustomLiveStreamSnapshotTemplates sync request
@param describeCustomLiveStreamSnapshotTemplatesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeCustomLiveStreamSnapshotTemplatesResponse` the request response data model
*/
-(NSDictionary*) describeCustomLiveStreamSnapshotTemplatesSyncWithRequest:(LiveDescribeCustomLiveStreamSnapshotTemplatesRequest*) describeCustomLiveStreamSnapshotTemplatesRequest
{
LiveDescribeCustomLiveStreamSnapshotTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamSnapshotTemplatesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeCustomLiveStreamSnapshotTemplatesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamSnapshotTemplatesResponse* response = [[LiveDescribeCustomLiveStreamSnapshotTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeCustomLiveStreamSnapshotTemplatesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeCustomLiveStreamSnapshotTemplatesAsyncWithRequest:(LiveDescribeCustomLiveStreamSnapshotTemplatesRequest*) describeCustomLiveStreamSnapshotTemplatesRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeCustomLiveStreamSnapshotTemplatesResponse* _Nullable describeCustomLiveStreamSnapshotTemplatesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeCustomLiveStreamSnapshotTemplatesExecutor* excutor = [[LiveDescribeCustomLiveStreamSnapshotTemplatesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeCustomLiveStreamSnapshotTemplatesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeCustomLiveStreamSnapshotTemplatesResponse* response = [[LiveDescribeCustomLiveStreamSnapshotTemplatesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopLiveApp sync request
@param stopLiveAppRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopLiveAppResponse` the request response data model
*/
-(NSDictionary*) stopLiveAppSyncWithRequest:(LiveStopLiveAppRequest*) stopLiveAppRequest
{
LiveStopLiveAppExecutor* excutor = [[LiveStopLiveAppExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopLiveAppRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveStopLiveAppResponse* response = [[LiveStopLiveAppResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopLiveAppResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopLiveAppAsyncWithRequest:(LiveStopLiveAppRequest*) stopLiveAppRequest
                       completionHandler:(void(^)(int statusCode,LiveStopLiveAppResponse* _Nullable stopLiveAppResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveStopLiveAppExecutor* excutor = [[LiveStopLiveAppExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopLiveAppRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveStopLiveAppResponse* response = [[LiveStopLiveAppResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeLiveStreamTrafficData sync request
@param describeLiveStreamTrafficDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeLiveStreamTrafficDataResponse` the request response data model
*/
-(NSDictionary*) describeLiveStreamTrafficDataSyncWithRequest:(LiveDescribeLiveStreamTrafficDataRequest*) describeLiveStreamTrafficDataRequest
{
LiveDescribeLiveStreamTrafficDataExecutor* excutor = [[LiveDescribeLiveStreamTrafficDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeLiveStreamTrafficDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamTrafficDataResponse* response = [[LiveDescribeLiveStreamTrafficDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeLiveStreamTrafficDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeLiveStreamTrafficDataAsyncWithRequest:(LiveDescribeLiveStreamTrafficDataRequest*) describeLiveStreamTrafficDataRequest
                       completionHandler:(void(^)(int statusCode,LiveDescribeLiveStreamTrafficDataResponse* _Nullable describeLiveStreamTrafficDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDescribeLiveStreamTrafficDataExecutor* excutor = [[LiveDescribeLiveStreamTrafficDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeLiveStreamTrafficDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDescribeLiveStreamTrafficDataResponse* response = [[LiveDescribeLiveStreamTrafficDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addCustomLiveStreamTranscodeTemplate sync request
@param addCustomLiveStreamTranscodeTemplateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addCustomLiveStreamTranscodeTemplateResponse` the request response data model
*/
-(NSDictionary*) addCustomLiveStreamTranscodeTemplateSyncWithRequest:(LiveAddCustomLiveStreamTranscodeTemplateRequest*) addCustomLiveStreamTranscodeTemplateRequest
{
LiveAddCustomLiveStreamTranscodeTemplateExecutor* excutor = [[LiveAddCustomLiveStreamTranscodeTemplateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addCustomLiveStreamTranscodeTemplateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamTranscodeTemplateResponse* response = [[LiveAddCustomLiveStreamTranscodeTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addCustomLiveStreamTranscodeTemplateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addCustomLiveStreamTranscodeTemplateAsyncWithRequest:(LiveAddCustomLiveStreamTranscodeTemplateRequest*) addCustomLiveStreamTranscodeTemplateRequest
                       completionHandler:(void(^)(int statusCode,LiveAddCustomLiveStreamTranscodeTemplateResponse* _Nullable addCustomLiveStreamTranscodeTemplateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddCustomLiveStreamTranscodeTemplateExecutor* excutor = [[LiveAddCustomLiveStreamTranscodeTemplateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addCustomLiveStreamTranscodeTemplateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddCustomLiveStreamTranscodeTemplateResponse* response = [[LiveAddCustomLiveStreamTranscodeTemplateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
addLiveStreamDomainTranscode sync request
@param addLiveStreamDomainTranscodeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `addLiveStreamDomainTranscodeResponse` the request response data model
*/
-(NSDictionary*) addLiveStreamDomainTranscodeSyncWithRequest:(LiveAddLiveStreamDomainTranscodeRequest*) addLiveStreamDomainTranscodeRequest
{
LiveAddLiveStreamDomainTranscodeExecutor* excutor = [[LiveAddLiveStreamDomainTranscodeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:addLiveStreamDomainTranscodeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainTranscodeResponse* response = [[LiveAddLiveStreamDomainTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"addLiveStreamDomainTranscodeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)addLiveStreamDomainTranscodeAsyncWithRequest:(LiveAddLiveStreamDomainTranscodeRequest*) addLiveStreamDomainTranscodeRequest
                       completionHandler:(void(^)(int statusCode,LiveAddLiveStreamDomainTranscodeResponse* _Nullable addLiveStreamDomainTranscodeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveAddLiveStreamDomainTranscodeExecutor* excutor = [[LiveAddLiveStreamDomainTranscodeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:addLiveStreamDomainTranscodeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveAddLiveStreamDomainTranscodeResponse* response = [[LiveAddLiveStreamDomainTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteLiveStreamAppTranscode sync request
@param deleteLiveStreamAppTranscodeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteLiveStreamAppTranscodeResponse` the request response data model
*/
-(NSDictionary*) deleteLiveStreamAppTranscodeSyncWithRequest:(LiveDeleteLiveStreamAppTranscodeRequest*) deleteLiveStreamAppTranscodeRequest
{
LiveDeleteLiveStreamAppTranscodeExecutor* excutor = [[LiveDeleteLiveStreamAppTranscodeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteLiveStreamAppTranscodeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppTranscodeResponse* response = [[LiveDeleteLiveStreamAppTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteLiveStreamAppTranscodeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteLiveStreamAppTranscodeAsyncWithRequest:(LiveDeleteLiveStreamAppTranscodeRequest*) deleteLiveStreamAppTranscodeRequest
                       completionHandler:(void(^)(int statusCode,LiveDeleteLiveStreamAppTranscodeResponse* _Nullable deleteLiveStreamAppTranscodeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveDeleteLiveStreamAppTranscodeExecutor* excutor = [[LiveDeleteLiveStreamAppTranscodeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteLiveStreamAppTranscodeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveDeleteLiveStreamAppTranscodeResponse* response = [[LiveDeleteLiveStreamAppTranscodeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
openLiveTimeshift sync request
@param openLiveTimeshiftRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `openLiveTimeshiftResponse` the request response data model
*/
-(NSDictionary*) openLiveTimeshiftSyncWithRequest:(LiveOpenLiveTimeshiftRequest*) openLiveTimeshiftRequest
{
LiveOpenLiveTimeshiftExecutor* excutor = [[LiveOpenLiveTimeshiftExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:openLiveTimeshiftRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveOpenLiveTimeshiftResponse* response = [[LiveOpenLiveTimeshiftResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"openLiveTimeshiftResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)openLiveTimeshiftAsyncWithRequest:(LiveOpenLiveTimeshiftRequest*) openLiveTimeshiftRequest
                       completionHandler:(void(^)(int statusCode,LiveOpenLiveTimeshiftResponse* _Nullable openLiveTimeshiftResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
LiveOpenLiveTimeshiftExecutor* excutor = [[LiveOpenLiveTimeshiftExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:openLiveTimeshiftRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    LiveOpenLiveTimeshiftResponse* response = [[LiveOpenLiveTimeshiftResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}


 /**
 live common sync request
 @param  jdcloudDataRequest request param
 @return key `statusCode` http request status code type is int
             `dataResult` the http request response data  type is NSData
             `requestError` the request error type is NSError
 */
 -(NSDictionary*) liveCommonSyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                                   url:(NSString*) url
                                                method:(NSString*) method{
    CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    NSDictionary* responseResult = [excutor executeDataSync:jdcloudDataRequest];
    return responseResult;
}

-(void)liveCommonAsyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                         url:(NSString*) url
                                      method:(NSString*) method
                           completionHandler:(void(^)(int statusCode, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
     CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    
    [excutor executeDataAsync:jdcloudDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        completionHandler(statusCode,responseData,error);
    }];
} 

@end
